From b87a37f30bc4efc788e88351fe82c712688b3c9e Mon Sep 17 00:00:00 2001 From: Volker Schukai <volker.schukai@schukai.com> Date: Sun, 15 Aug 2021 10:14:48 +0000 Subject: [PATCH] Monster/ /16759830 f2a0 427e bd0c cfd608148ae0 --- .gitignore | 3 +- .idea/modules.xml | 2 +- Makefile | 43 +- docs/Monster.DOM.Assembler.html | 814 --- docs/Monster.DOM.Handle.html | 6 +- docs/Monster.DOM.html | 257 - docs/Monster.Namespace.html | 2 +- docs/Monster.Types.Version.html | 769 --- docs/Monster.Types.html | 293 - ...onster_Constraints.AbstractConstraint.html | 2 +- .../Monster_Constraints.AbstractOperator.html | 2 +- docs/Monster_Constraints.AndOperator.html | 14 +- docs/Monster_Constraints.Invalid.html | 10 +- docs/Monster_Constraints.IsArray.html | 10 +- docs/Monster_Constraints.IsObject.html | 10 +- docs/Monster_Constraints.OrOperator.html | 14 +- docs/Monster_Constraints.Valid.html | 10 +- docs/Monster_Constraints.html | 2 +- docs/Monster_DOM.Assembler.html | 6 +- docs/Monster_DOM.CustomElement.html | 1257 +++- docs/Monster_DOM.Handle.html | 677 -- docs/Monster_DOM.Template.html | 6 +- docs/Monster_DOM.Theme.html | 10 +- docs/Monster_DOM.Updater.html | 1209 ++++ docs/Monster_DOM.html | 795 ++- docs/Monster_Data.Pathfinder.html | 14 +- docs/Monster_Data.Pipe.html | 248 +- docs/Monster_Data.Transformer.html | 16 +- docs/Monster_Data.html | 10 +- docs/Monster_Logging.Handler.html | 6 +- docs/Monster_Logging.LogEntry.html | 6 +- docs/Monster_Logging.Logger.html | 6 +- docs/Monster_Logging.html | 2 +- ...onster_Logging_Handler.ConsoleHandler.html | 6 +- docs/Monster_Logging_Handler.html | 2 +- docs/Monster_Math.html | 6 +- docs/Monster_Types.Base.html | 6 +- docs/Monster_Types.ID.html | 6 +- docs/Monster_Types.Observer.html | 10 +- docs/Monster_Types.ObserverList.html | 6 +- docs/Monster_Types.ProxyObserver.html | 22 +- docs/Monster_Types.Queue.html | 10 +- docs/Monster_Types.RandomID.html | 6 +- docs/Monster_Types.Stack.html | 6 +- docs/Monster_Types.TokenList.html | 6 +- docs/Monster_Types.UniqueQueue.html | 6 +- docs/Monster_Types.Version.html | 10 +- docs/Monster_Types.html | 126 +- docs/Monster_Util.Comparator.html | 10 +- docs/Monster_Util.html | 10 +- docs/constraints_abstract.js.html | 224 - docs/constraints_abstractoperator.js.html | 223 - docs/constraints_andoperator.js.html | 250 - docs/constraints_invalid.js.html | 242 - docs/constraints_isarray.js.html | 250 - docs/constraints_isobject.js.html | 251 - docs/constraints_namespace.js.html | 195 - docs/constraints_oroperator.js.html | 276 - docs/constraints_valid.js.html | 242 - docs/data_diff.js.html | 432 -- docs/data_namespace.js.html | 196 - docs/data_pathfinder.js.html | 553 -- docs/data_pipe.js.html | 275 - docs/data_transformer.js.html | 616 -- docs/dom_assembler.js.html | 283 - docs/dom_customelement.js.html | 334 - docs/dom_handle.js.html | 412 -- docs/dom_namespace.js.html | 195 - docs/dom_template.js.html | 308 - docs/dom_theme.js.html | 285 - docs/dom_util.js.html | 387 -- docs/fonts/Montserrat/Montserrat-Bold.eot | Bin 106135 -> 0 bytes docs/fonts/Montserrat/Montserrat-Bold.ttf | Bin 47088 -> 0 bytes docs/fonts/Montserrat/Montserrat-Bold.woff | Bin 112872 -> 0 bytes docs/fonts/Montserrat/Montserrat-Bold.woff2 | Bin 85436 -> 0 bytes docs/fonts/Montserrat/Montserrat-Regular.eot | Bin 106287 -> 0 bytes docs/fonts/Montserrat/Montserrat-Regular.ttf | Bin 46392 -> 0 bytes docs/fonts/Montserrat/Montserrat-Regular.woff | Bin 112020 -> 0 bytes .../fonts/Montserrat/Montserrat-Regular.woff2 | Bin 85240 -> 0 bytes .../sourcesanspro-light-webfont.eot | Bin 19390 -> 0 bytes .../sourcesanspro-light-webfont.svg | 978 --- .../sourcesanspro-light-webfont.ttf | Bin 67760 -> 0 bytes .../sourcesanspro-light-webfont.woff | Bin 21132 -> 0 bytes .../sourcesanspro-light-webfont.woff2 | Bin 16080 -> 0 bytes .../sourcesanspro-regular-webfont.eot | Bin 20014 -> 0 bytes .../sourcesanspro-regular-webfont.svg | 1049 --- .../sourcesanspro-regular-webfont.ttf | Bin 68656 -> 0 bytes .../sourcesanspro-regular-webfont.woff | Bin 21720 -> 0 bytes .../sourcesanspro-regular-webfont.woff2 | Bin 16636 -> 0 bytes docs/global.html | 82 +- docs/global.html#Monster | 8 +- docs/index.html | 3 +- docs/logging_handler.js.html | 368 -- docs/logging_handler_console.js.html | 226 - docs/logging_handler_namespace.js.html | 196 - docs/logging_logentry.js.html | 252 - docs/logging_logger.js.html | 464 -- docs/logging_namespace.js.html | 196 - docs/math_namespace.js.html | 196 - docs/math_random.js.html | 306 - docs/namespace.js.html | 343 - docs/namespace_Monster_DOM.Assembler.html | 815 --- docs/scripts/collapse.js | 20 - docs/scripts/nav.js | 12 - docs/scripts/polyfill.js | 4 - docs/scripts/prettify/Apache-License-2.0.txt | 202 - docs/scripts/prettify/lang-css.js | 2 - docs/scripts/prettify/prettify.js | 28 - docs/styles/jsdoc.css | 765 --- docs/styles/prettify.css | 79 - ...l-dom-based-templating-implementation.html | 193 + docs/tutorial-getting-started.html | 50 +- docs/tutorial-tutorial.html | 194 + docs/tutorial-what-is-monster.html | 195 + docs/types_base.js.html | 237 - docs/types_global.js.html | 312 - docs/types_id.js.html | 265 - docs/types_is.js.html | 550 -- docs/types_namespace.js.html | 196 - docs/types_observer.js.html | 353 -- docs/types_observerlist.js.html | 302 - docs/types_proxyobserver.js.html | 433 -- docs/types_queue.js.html | 279 - docs/types_randomid.js.html | 243 - docs/types_stack.js.html | 280 - docs/types_tokenlist.js.html | 500 -- docs/types_uniquequeue.js.html | 271 - docs/types_validate.js.html | 567 -- docs/types_version.js.html | 371 -- docs/util_clone.js.html | 336 - docs/util_comparator.js.html | 345 - docs/util_freeze.js.html | 241 - docs/util_namespace.js.html | 196 - jsdoc.json | 2 +- package-lock.json | 5379 +++++++++++++--- package.json | 8 +- packages/monster/CHANGELOG | 12 + packages/monster/README.md | 6 +- .../dist/modules/constraints/abstract.js | 2 +- .../modules/constraints/abstractoperator.js | 2 +- .../dist/modules/constraints/andoperator.js | 2 +- .../dist/modules/constraints/invalid.js | 2 +- .../dist/modules/constraints/isarray.js | 2 +- .../dist/modules/constraints/isobject.js | 2 +- .../dist/modules/constraints/namespace.js | 2 +- .../dist/modules/constraints/oroperator.js | 2 +- .../monster/dist/modules/constraints/valid.js | 2 +- .../monster/dist/modules/data/buildmap.js | 2 +- packages/monster/dist/modules/data/diff.js | 2 +- .../monster/dist/modules/data/namespace.js | 2 +- .../monster/dist/modules/data/pathfinder.js | 2 +- packages/monster/dist/modules/data/pipe.js | 4 +- .../monster/dist/modules/data/transformer.js | 4 +- .../monster/dist/modules/dom/assembler.js | 2 +- .../monster/dist/modules/dom/constants.js | 2 + .../monster/dist/modules/dom/customelement.js | 4 +- packages/monster/dist/modules/dom/handle.js | 2 +- .../monster/dist/modules/dom/namespace.js | 2 +- packages/monster/dist/modules/dom/template.js | 2 +- packages/monster/dist/modules/dom/theme.js | 4 +- packages/monster/dist/modules/dom/updater.js | 2 + packages/monster/dist/modules/dom/util.js | 2 +- .../monster/dist/modules/logging/handler.js | 2 +- .../dist/modules/logging/handler/console.js | 2 +- .../dist/modules/logging/handler/namespace.js | 2 +- .../monster/dist/modules/logging/logentry.js | 2 +- .../monster/dist/modules/logging/logger.js | 2 +- .../monster/dist/modules/logging/namespace.js | 2 +- .../monster/dist/modules/math/namespace.js | 2 +- packages/monster/dist/modules/math/random.js | 2 +- packages/monster/dist/modules/monster.js | 2 +- packages/monster/dist/modules/namespace.js | 2 +- packages/monster/dist/modules/types/base.js | 2 +- packages/monster/dist/modules/types/global.js | 2 +- packages/monster/dist/modules/types/id.js | 2 +- packages/monster/dist/modules/types/is.js | 2 +- .../monster/dist/modules/types/namespace.js | 2 +- .../monster/dist/modules/types/observer.js | 4 +- .../dist/modules/types/observerlist.js | 2 +- .../dist/modules/types/proxyobserver.js | 4 +- packages/monster/dist/modules/types/queue.js | 2 +- .../monster/dist/modules/types/randomid.js | 2 +- packages/monster/dist/modules/types/stack.js | 2 +- .../monster/dist/modules/types/tokenlist.js | 2 +- packages/monster/dist/modules/types/typeof.js | 2 +- .../monster/dist/modules/types/uniquequeue.js | 2 +- .../monster/dist/modules/types/validate.js | 4 +- .../monster/dist/modules/types/version.js | 4 +- packages/monster/dist/modules/util/clone.js | 2 +- .../monster/dist/modules/util/comparator.js | 2 +- packages/monster/dist/modules/util/freeze.js | 2 +- .../monster/dist/modules/util/namespace.js | 2 +- packages/monster/dist/monster.dev.js | 822 ++- packages/monster/dist/monster.dev.js.map | 82 +- packages/monster/dist/monster.js | 4 +- packages/monster/package.json | 2 +- .../monster/source/constraints/andoperator.js | 10 +- .../monster/source/constraints/invalid.js | 6 +- .../monster/source/constraints/isarray.js | 6 +- .../monster/source/constraints/isobject.js | 6 +- .../monster/source/constraints/oroperator.js | 10 +- packages/monster/source/constraints/valid.js | 6 +- packages/monster/source/data/buildmap.js | 4 +- packages/monster/source/data/diff.js | 6 +- packages/monster/source/data/pathfinder.js | 8 +- packages/monster/source/data/pipe.js | 36 +- packages/monster/source/data/transformer.js | 12 +- packages/monster/source/dom/assembler.js | 4 +- packages/monster/source/dom/constants.js | 92 + packages/monster/source/dom/customelement.js | 174 +- packages/monster/source/dom/handle.js | 8 +- packages/monster/source/dom/template.js | 8 +- packages/monster/source/dom/theme.js | 19 +- packages/monster/source/dom/updater.js | 430 ++ packages/monster/source/dom/util.js | 12 +- packages/monster/source/logging/handler.js | 4 +- .../monster/source/logging/handler/console.js | 4 +- packages/monster/source/logging/logentry.js | 4 +- packages/monster/source/logging/logger.js | 4 +- packages/monster/source/math/random.js | 4 +- packages/monster/source/namespace.js | 2 +- packages/monster/source/types/base.js | 4 +- packages/monster/source/types/global.js | 8 +- packages/monster/source/types/id.js | 4 +- packages/monster/source/types/is.js | 36 +- packages/monster/source/types/observer.js | 37 +- packages/monster/source/types/observerlist.js | 4 +- .../monster/source/types/proxyobserver.js | 19 +- packages/monster/source/types/queue.js | 6 +- packages/monster/source/types/randomid.js | 4 +- packages/monster/source/types/stack.js | 4 +- packages/monster/source/types/tokenlist.js | 4 +- packages/monster/source/types/typeof.js | 6 +- packages/monster/source/types/uniquequeue.js | 4 +- packages/monster/source/types/validate.js | 63 +- packages/monster/source/types/version.js | 12 +- packages/monster/source/util/clone.js | 4 +- packages/monster/source/util/comparator.js | 6 +- packages/monster/source/util/freeze.js | 4 +- .../monster/test/cases/data/transformer.js | 1 + .../monster/test/cases/dom/customelement.js | 3 + packages/monster/test/cases/dom/updater.js | 256 + packages/monster/test/cases/monster.js | 2 +- .../monster/test/cases/types/proxyobserver.js | 12 + packages/monster/test/cases/types/validate.js | 18 +- packages/monster/test/util/chai-dom.js | 352 ++ packages/monster/test/util/jsdom.js | 12 +- packages/monster/test/web/import.js | 4 + packages/monster/test/web/mocha.js | 1 + packages/monster/test/web/test.html | 1 + packages/monster/test/web/tests.js | 5604 ++++++++++++----- .../dom-based-templating-implementation.md | 17 + tutorials/getting-started.md | 4 +- tutorials/tutorial.md | 8 + tutorials/tutorials.json | 15 +- tutorials/what-is-monster.md | 13 + 256 files changed, 14883 insertions(+), 25706 deletions(-) delete mode 100644 docs/Monster.DOM.Assembler.html delete mode 100644 docs/Monster.DOM.html delete mode 100644 docs/Monster.Types.Version.html delete mode 100644 docs/Monster.Types.html delete mode 100644 docs/Monster_DOM.Handle.html create mode 100644 docs/Monster_DOM.Updater.html delete mode 100644 docs/constraints_abstract.js.html delete mode 100644 docs/constraints_abstractoperator.js.html delete mode 100644 docs/constraints_andoperator.js.html delete mode 100644 docs/constraints_invalid.js.html delete mode 100644 docs/constraints_isarray.js.html delete mode 100644 docs/constraints_isobject.js.html delete mode 100644 docs/constraints_namespace.js.html delete mode 100644 docs/constraints_oroperator.js.html delete mode 100644 docs/constraints_valid.js.html delete mode 100644 docs/data_diff.js.html delete mode 100644 docs/data_namespace.js.html delete mode 100644 docs/data_pathfinder.js.html delete mode 100644 docs/data_pipe.js.html delete mode 100644 docs/data_transformer.js.html delete mode 100644 docs/dom_assembler.js.html delete mode 100644 docs/dom_customelement.js.html delete mode 100644 docs/dom_handle.js.html delete mode 100644 docs/dom_namespace.js.html delete mode 100644 docs/dom_template.js.html delete mode 100644 docs/dom_theme.js.html delete mode 100644 docs/dom_util.js.html delete mode 100644 docs/fonts/Montserrat/Montserrat-Bold.eot delete mode 100644 docs/fonts/Montserrat/Montserrat-Bold.ttf delete mode 100644 docs/fonts/Montserrat/Montserrat-Bold.woff delete mode 100644 docs/fonts/Montserrat/Montserrat-Bold.woff2 delete mode 100644 docs/fonts/Montserrat/Montserrat-Regular.eot delete mode 100644 docs/fonts/Montserrat/Montserrat-Regular.ttf delete mode 100644 docs/fonts/Montserrat/Montserrat-Regular.woff delete mode 100644 docs/fonts/Montserrat/Montserrat-Regular.woff2 delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 delete mode 100644 docs/logging_handler.js.html delete mode 100644 docs/logging_handler_console.js.html delete mode 100644 docs/logging_handler_namespace.js.html delete mode 100644 docs/logging_logentry.js.html delete mode 100644 docs/logging_logger.js.html delete mode 100644 docs/logging_namespace.js.html delete mode 100644 docs/math_namespace.js.html delete mode 100644 docs/math_random.js.html delete mode 100644 docs/namespace.js.html delete mode 100644 docs/namespace_Monster_DOM.Assembler.html delete mode 100644 docs/scripts/collapse.js delete mode 100644 docs/scripts/nav.js delete mode 100644 docs/scripts/polyfill.js delete mode 100644 docs/scripts/prettify/Apache-License-2.0.txt delete mode 100644 docs/scripts/prettify/lang-css.js delete mode 100644 docs/scripts/prettify/prettify.js delete mode 100644 docs/styles/jsdoc.css delete mode 100644 docs/styles/prettify.css create mode 100644 docs/tutorial-dom-based-templating-implementation.html create mode 100644 docs/tutorial-tutorial.html create mode 100644 docs/tutorial-what-is-monster.html delete mode 100644 docs/types_base.js.html delete mode 100644 docs/types_global.js.html delete mode 100644 docs/types_id.js.html delete mode 100644 docs/types_is.js.html delete mode 100644 docs/types_namespace.js.html delete mode 100644 docs/types_observer.js.html delete mode 100644 docs/types_observerlist.js.html delete mode 100644 docs/types_proxyobserver.js.html delete mode 100644 docs/types_queue.js.html delete mode 100644 docs/types_randomid.js.html delete mode 100644 docs/types_stack.js.html delete mode 100644 docs/types_tokenlist.js.html delete mode 100644 docs/types_uniquequeue.js.html delete mode 100644 docs/types_validate.js.html delete mode 100644 docs/types_version.js.html delete mode 100644 docs/util_clone.js.html delete mode 100644 docs/util_comparator.js.html delete mode 100644 docs/util_freeze.js.html delete mode 100644 docs/util_namespace.js.html create mode 100644 packages/monster/dist/modules/dom/constants.js create mode 100644 packages/monster/dist/modules/dom/updater.js create mode 100644 packages/monster/source/dom/constants.js create mode 100644 packages/monster/source/dom/updater.js create mode 100644 packages/monster/test/cases/dom/updater.js create mode 100644 packages/monster/test/util/chai-dom.js create mode 100644 tutorials/dom-based-templating-implementation.md create mode 100644 tutorials/tutorial.md create mode 100644 tutorials/what-is-monster.md diff --git a/.gitignore b/.gitignore index 81a4b6230..e5f607d3d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ - +/.nyc_output/ #####################ALLGEMEINER TEIL @@ -307,3 +307,4 @@ fabric.properties # Android studio 3.1+ serialized cache file .idea/caches/build_file_checksums.ser + diff --git a/.idea/modules.xml b/.idea/modules.xml index ea8308a41..b69fe790a 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -3,8 +3,8 @@ <component name="ProjectModuleManager"> <modules> <module fileurl="file://$PROJECT_DIR$/../../../../alvine/frontend/alvine.frontend.framework/alvine.frontend.alvine.alvine-frontend-framework.iml" filepath="$PROJECT_DIR$/../../../../alvine/frontend/alvine.frontend.framework/alvine.frontend.alvine.alvine-frontend-framework.iml" /> + <module fileurl="file://$PROJECT_DIR$/../web-components/form/form.iml" filepath="$PROJECT_DIR$/../web-components/form/form.iml" /> <module fileurl="file://$PROJECT_DIR$/monster.iml" filepath="$PROJECT_DIR$/monster.iml" /> - <module fileurl="file://$PROJECT_DIR$/../web-components/template/template.iml" filepath="$PROJECT_DIR$/../web-components/template/template.iml" /> <module fileurl="file://$PROJECT_DIR$/../web-components/multiselect/web-components.multiselect.iml" filepath="$PROJECT_DIR$/../web-components/multiselect/web-components.multiselect.iml" /> </modules> </component> diff --git a/Makefile b/Makefile index 68fca4ccc..6a9525603 100644 --- a/Makefile +++ b/Makefile @@ -214,6 +214,7 @@ BABEL := $(NODE_MODULES_BIN_DIR)babel EXORCIST := $(NODE_MODULES_BIN_DIR)exorcist UGLIFYJS := $(NODE_MODULES_BIN_DIR)uglifyjs MOCHA := $(NODE_MODULES_BIN_DIR)mocha +NYC := $(NODE_MODULES_BIN_DIR)nyc JSDOC := $(NODE_MODULES_BIN_DIR)jsdoc $(NODE_MODULES_DIR): $(THIS_DIR)package.json @@ -245,21 +246,23 @@ ifneq ($(strip $(PACKAGE)),) SUBPACKAGE=-$(PACKAGE) endif -MONSTER_CORE_DIR := $(THIS_DIR)packages/monster/ - -MONSTER_DIR := $(THIS_DIR)packages/monster$(SUBPACKAGE)/ -MONSTER_SOURCE_DIR := $(MONSTER_DIR)source/ -MONSTER_SOURCE_FILES := $(shell find $(MONSTER_SOURCE_DIR) -name '*.js') -MONSTER_DIST_DIR := $(MONSTER_DIR)dist/ -MONSTER_DIST_MODULE_DIR := $(MONSTER_DIST_DIR)modules/ -MONSTER_DIST_MODULES_FILES := $(subst $(MONSTER_SOURCE_DIR), $(MONSTER_DIST_MODULE_DIR), $(MONSTER_SOURCE_FILES)) -MONSTER_TEST_DIR := $(MONSTER_DIR)test/ -MONSTER_TEST_CASE_DIR := $(MONSTER_TEST_DIR)cases/ -MONSTER_FILES_WITHVERSION := $(shell grep -l -r -E "monster($(SUBPACKAGE))?@[0-9]\.[0-9]\.[0-9]" $(MONSTER_SOURCE_FILES)) - -MONSTER_CORE_VERSION := $(shell jq -r ".version" $(MONSTER_CORE_DIR)package.json) -MONSTER_VERSION := $(shell jq -r ".version" $(MONSTER_DIR)package.json) -LICENSE_C_COMMENT := Monster $(MONSTER_VERSION), $(COPYRIGHT_TEXT) +MONSTER_CORE_DIR := $(THIS_DIR)packages/monster/ + +MONSTER_DIR := $(THIS_DIR)packages/monster$(SUBPACKAGE)/ +MONSTER_TUTORIAL_DIR := $(THIS_DIR)tutorials/ +MONSTER_SOURCE_DIR := $(MONSTER_DIR)source/ +MONSTER_SOURCE_FILES := $(shell find $(MONSTER_SOURCE_DIR) -name '*.js') +MONSTER_DIST_DIR := $(MONSTER_DIR)dist/ +MONSTER_DIST_MODULE_DIR := $(MONSTER_DIST_DIR)modules/ +MONSTER_DIST_MODULES_FILES := $(subst $(MONSTER_SOURCE_DIR), $(MONSTER_DIST_MODULE_DIR), $(MONSTER_SOURCE_FILES)) +MONSTER_TEST_DIR := $(MONSTER_DIR)test/ +MONSTER_TEST_CASE_DIR := $(MONSTER_TEST_DIR)cases/ +MONSTER_FILES_WITHVERSION := $(shell grep -l -r -E "monster($(SUBPACKAGE))?@[0-9]\.[0-9]\.[0-9]" $(MONSTER_SOURCE_FILES)) +MONSTER_TUTORIALS_FILES_WITHVERSION := $(shell grep -l -r -E "monster($(SUBPACKAGE))?@[0-9]\.[0-9]\.[0-9]" $(MONSTER_TUTORIAL_DIR)) + +MONSTER_CORE_VERSION := $(shell jq -r ".version" $(MONSTER_CORE_DIR)package.json) +MONSTER_VERSION := $(shell jq -r ".version" $(MONSTER_DIR)package.json) +LICENSE_C_COMMENT := Monster $(MONSTER_VERSION), $(COPYRIGHT_TEXT) $(MONSTER_DIST_DIR): $(ECHOMARKER) "make directory $(MONSTER_DIST_DIR)" @@ -267,7 +270,7 @@ $(MONSTER_DIST_DIR): .PHONY: version-monster -version-monster: $(MONSTER_TEST_CASE_DIR)monster.js $(MONSTER_DIR)README.md $(MONSTER_FILES_WITHVERSION) +version-monster: $(MONSTER_TEST_CASE_DIR)monster.js $(MONSTER_DIR)README.md $(MONSTER_FILES_WITHVERSION) $(MONSTER_TUTORIALS_FILES_WITHVERSION) $(MONSTER_TEST_CASE_DIR)monster.js: $(MONSTER_DIR)package.json $(MONSTER_CORE_DIR)package.json $(ECHOMARKER) "write test/monster.js version $(MONSTER_VERSION)" @@ -284,6 +287,12 @@ $(MONSTER_FILES_WITHVERSION): $(MONSTER_DIR)package.json $(MONSTER_CORE_DIR)pack $(QUITE) $(SED) -i -E "s/(\/monster@)([0-9]+\.[0-9]+\.[0-9]+)\//\1$(MONSTER_CORE_VERSION)\//gi" $@ $(QUIET) $(AWK) -i inplace -v start='/**#@+' -v end='/**#@-*/' -v repl=" /**#@+ dont touch, replaced by make with package.json version */\n monsterVersion = new Version('$(MONSTER_VERSION)')\n /**#@-*/" '$$1 == start{del=2} $$1 == end{$$1 = repl; del=0} !del' $@ +$(MONSTER_TUTORIALS_FILES_WITHVERSION): $(MONSTER_DIR)package.json $(MONSTER_CORE_DIR)package.json + $(ECHOMARKER) "write $@ monster version $(MONSTER_VERSION) and monster core version $(MONSTER_CORE_VERSION)" + $(QUITE) $(SED) -i -E "s/(\/monster$(SUBPACKAGE)@)([0-9]+\.[0-9]+\.[0-9]+)\//\1$(MONSTER_VERSION)\//gi" $@ + $(QUITE) $(SED) -i -E "s/(\/monster@)([0-9]+\.[0-9]+\.[0-9]+)\//\1$(MONSTER_CORE_VERSION)\//gi" $@ + $(QUIET) $(AWK) -i inplace -v start='/**#@+' -v end='/**#@-*/' -v repl=" /**#@+ dont touch, replaced by make with package.json version */\n monsterVersion = new Version('$(MONSTER_VERSION)')\n /**#@-*/" '$$1 == start{del=2} $$1 == end{$$1 = repl; del=0} !del' $@ + $(MONSTER_DIST_DIR)monster.dev.js: $(MONSTER_SOURCE_FILES) $(QUIET) $(BROWSERIFY) $(MONSTER_SOURCE_DIR)monster.js -t [ babelify --presets [ @babel/preset-env ] ] --debug | \ $(EXORCIST) $(MONSTER_DIST_DIR)monster.dev.js.map > $(MONSTER_DIST_DIR)monster.dev.js @@ -320,7 +329,7 @@ test-browser-monster: test-monster: build-monster $(ECHOMARKER) "test monster" $(QUITE) $(NPX) flow - $(QUIET) $(MOCHA) --recursive $(MONSTER_TEST_CASE_DIR)** + $(QUIET) $(MOCHA) --recursive $(MONSTER_TEST_CASE_DIR)** .PHONY: npm-publish-monster ## publish library to npm diff --git a/docs/Monster.DOM.Assembler.html b/docs/Monster.DOM.Assembler.html deleted file mode 100644 index 56bf44d7d..000000000 --- a/docs/Monster.DOM.Assembler.html +++ /dev/null @@ -1,814 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - - <meta charset="utf-8"> - <title>Assembler - awaken the monster in you; javascript library by schukai GmbH</title> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <script src="scripts/prettify/prettify.js"></script> - <script src="scripts/prettify/lang-css.js"></script> - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/prettify.css"> - <link type="text/css" rel="stylesheet" href="styles/jsdoc.css"> - <script src="scripts/nav.js" defer></script> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> -</head> -<body> - -<input type="checkbox" id="nav-trigger" class="nav-trigger" /> -<label for="nav-trigger" class="navicon-button x"> - <div class="navicon"></div> -</label> - -<label for="nav-trigger" class="overlay"></label> - -<nav > - - <input type="text" id="nav-search" placeholder="Search" /> - - <h2><a href="index.html">Home</a></h2><h2><a href="https://www.schukai.com/" target="_blank" class="menu-item" id="schukai_link" >schukai GmbH</a></h2><h2><a href="https://www.npmjs.com/package/@schukai/monster" target="_blank" class="menu-item" id="npm_link" >NPM</a></h2><h3>Namespaces</h3><ul><li><a href="global.html#Monster">Monster</a><ul class='methods'><li data-type='method' style='display: none;'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method' style='display: none;'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li><a href="Monster_DOM.html">Monster/DOM</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.html#.getWindow">getWindow</a></li></ul></li></ul><h3>Classes</h3><ul><li><a href="Monster.DOM.Assembler.html">Assembler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li><a href="Monster.DOM.Handle.html">Handle</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li><a href="Monster.Namespace.html">Namespace</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li><a href="Monster_Constraints.AndOperator.html">AndOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Invalid.html">Invalid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsArray.html">IsArray</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsObject.html">IsObject</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.OrOperator.html">OrOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Valid.html">Valid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Data.Pathfinder.html">Pathfinder</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li><a href="Monster_Data.Pipe.html">Pipe</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li><a href="Monster_Data.Transformer.html">Transformer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li><a href="Monster_DOM.Template.html">Template</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li><a href="Monster_Logging.Handler.html">Handler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li><a href="Monster_Logging.LogEntry.html">LogEntry</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li><a href="Monster_Logging.Logger.html">Logger</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li><a href="Monster_Types.Base.html">Base</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.ID.html">ID</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.Observer.html">Observer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li><a href="Monster_Types.ObserverList.html">ObserverList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li><a href="Monster_Types.Queue.html">Queue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.RandomID.html">RandomID</a></li><li><a href="Monster_Types.Stack.html">Stack</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li><a href="Monster_Types.TokenList.html">TokenList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.Version.html">Version</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li><a href="Monster_Util.Comparator.html">Comparator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul><h3><a href="global.html">Global</a></h3> -</nav> - -<div id="main"> - - <h1 class="page-title">Assembler</h1> - - - - - - - -<section> - -<header> - - <h2> - Assembler - </h2> - - <div class="class-description usertext"><p>you can call the method via the monster namespace <code>new Monster.DOM.Assembler()</code>.</p> -<pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/assembler.js'; -console.log(new Monster.DOM.Assembler()) -</script> -</code></pre> -<p>Alternatively, you can also integrate this function individually.</p> -<pre class="prettyprint source"><code><script type="module"> -import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/assembler.js'; -console.log(new Assembler()) -</script> -</code></pre></div> - - -</header> - -<article> - - <div class="container-overview"> - - - - - <h2>Constructor</h2> - - - <h4 class="name" id="Assembler"><span class="type-signature"></span>new Assembler<span class="signature">(fragment)</span><span class="type-signature"></span></h4> - - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line44">line 44</a> - </li></ul></dd> - - - - - - <dt class="tag-since">Since:</dt> - <dd class="tag-since"><ul class="dummy"><li>1.6.0</li></ul></dd> - - - - - - - - - - - - - - - - - - <dt class="tag-copyright">Copyright:</dt> - <dd class="tag-copyright"><ul class="dummy"><li>schukai GmbH</li></ul></dd> - - - - - - - - - - - -</dl> - - - - - - - - - - - - - - - - <h5>Parameters:</h5> - - -<table class="params"> - <thead> - <tr> - - <th>Name</th> - - - <th>Type</th> - - - - - - <th class="last">Description</th> - </tr> - </thead> - - <tbody> - - - <tr> - - <td class="name"><code>fragment</code></td> - - - <td class="type"> - - -<span class="param-type">DocumentFragment</span> - - - - </td> - - - - - - <td class="description last"></td> - </tr> - - - </tbody> -</table> - - - - - - - - - - - - - - -<h5>Throws:</h5> -<ul> - <li> - -<dl> - <dt> - <div class="param-desc usertext"> - <p>value is not an instance of</p> - </div> - </dt> - <dd></dd> - <dt> - <dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">TypeError</span> - - - </dd> - </dl> - </dt> - <dd></dd> -</dl> - -</li> - - <li> - -<dl> - <dt> - <div class="param-desc usertext"> - <p>value is not a function</p> - </div> - </dt> - <dd></dd> - <dt> - <dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">TypeError</span> - - - </dd> - </dl> - </dt> - <dd></dd> -</dl> - -</li> - - <li> - -<dl> - <dt> - <div class="param-desc usertext"> - <p>the function is not defined</p> - </div> - </dt> - <dd></dd> - <dt> - <dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">Error</span> - - - </dd> - </dl> - </dt> - <dd></dd> -</dl> - -</li> - </ul> - - - - - - - </div> - - - - - - - - - - - - - - - - - - <h3 class="subsection-title">Methods</h3> - - - - - - - <h4 class="name" id="createDocumentFragment"><span class="type-signature"></span>createDocumentFragment<span class="signature">(data)</span><span class="type-signature"> → {DocumentFragment}</span></h4> - - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line85">line 85</a> - </li></ul></dd> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</dl> - - - - - - - - - - - - - - - - <h5>Parameters:</h5> - - -<table class="params"> - <thead> - <tr> - - <th>Name</th> - - - <th>Type</th> - - - - - - <th class="last">Description</th> - </tr> - </thead> - - <tbody> - - - <tr> - - <td class="name"><code>data</code></td> - - - <td class="type"> - - -<span class="param-type">ProxyObserver</span> -| - -<span class="param-type">undefined</span> - - - - </td> - - - - - - <td class="description last"></td> - </tr> - - - </tbody> -</table> - - - - - - - - - - - - - - -<h5>Throws:</h5> - - - -<dl> - <dt> - <div class="param-desc usertext"> - <p>value is not an instance of</p> - </div> - </dt> - <dd></dd> - <dt> - <dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">TypeError</span> - - - </dd> - </dl> - </dt> - <dd></dd> -</dl> - - - - - -<h5>Returns:</h5> - - - - -<dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">DocumentFragment</span> - - - </dd> -</dl> - - - - - - - - - - - <h4 class="name" id="getAttributePrefix"><span class="type-signature"></span>getAttributePrefix<span class="signature">()</span><span class="type-signature"> → {string}</span></h4> - - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line75">line 75</a> - </li></ul></dd> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</dl> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<h5>Returns:</h5> - - - - -<dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">string</span> - - - </dd> -</dl> - - - - - - - - - - - <h4 class="name" id="setAttributePrefix"><span class="type-signature"></span>setAttributePrefix<span class="signature">(prefix)</span><span class="type-signature"> → {Assembler}</span></h4> - - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line65">line 65</a> - </li></ul></dd> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</dl> - - - - - - - - - - - - - - - - <h5>Parameters:</h5> - - -<table class="params"> - <thead> - <tr> - - <th>Name</th> - - - <th>Type</th> - - - - - - <th class="last">Description</th> - </tr> - </thead> - - <tbody> - - - <tr> - - <td class="name"><code>prefix</code></td> - - - <td class="type"> - - -<span class="param-type">string</span> - - - - </td> - - - - - - <td class="description last"></td> - </tr> - - - </tbody> -</table> - - - - - - - - - - - - - - -<h5>Throws:</h5> - - - -<dl> - <dt> - <div class="param-desc usertext"> - <p>value is not a string</p> - </div> - </dt> - <dd></dd> - <dt> - <dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">TypeError</span> - - - </dd> - </dl> - </dt> - <dd></dd> -</dl> - - - - - -<h5>Returns:</h5> - - - - -<dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">Assembler</span> - - - </dd> -</dl> - - - - - - - - - - - -</article> - -</section> - - - - - - -</div> - -<br class="clear"> - -<footer> -</footer> - -<script>prettyPrint();</script> -<script src="scripts/polyfill.js"></script> -<script src="scripts/linenumber.js"></script> - -<script src="scripts/search.js" defer></script> - - -<script src="scripts/collapse.js" defer></script> - - -</body> -</html> \ No newline at end of file diff --git a/docs/Monster.DOM.Handle.html b/docs/Monster.DOM.Handle.html index 38fc8c6f8..6e86829eb 100644 --- a/docs/Monster.DOM.Handle.html +++ b/docs/Monster.DOM.Handle.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -146,13 +146,13 @@ <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.DOM.Handle()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; console.log(new Monster.DOM.Handle()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; +import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; console.log(new Handle()) </script> </code></pre></div> diff --git a/docs/Monster.DOM.html b/docs/Monster.DOM.html deleted file mode 100644 index 8e798c761..000000000 --- a/docs/Monster.DOM.html +++ /dev/null @@ -1,257 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - - <meta charset="utf-8"> - <title>DOM - awaken the monster in you; javascript library by schukai GmbH</title> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <script src="scripts/prettify/prettify.js"></script> - <script src="scripts/prettify/lang-css.js"></script> - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/prettify.css"> - <link type="text/css" rel="stylesheet" href="styles/jsdoc.css"> - <script src="scripts/nav.js" defer></script> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> -</head> -<body> - -<input type="checkbox" id="nav-trigger" class="nav-trigger" /> -<label for="nav-trigger" class="navicon-button x"> - <div class="navicon"></div> -</label> - -<label for="nav-trigger" class="overlay"></label> - -<nav > - - <input type="text" id="nav-search" placeholder="Search" /> - - <h2><a href="index.html">Home</a></h2><h2><a href="https://www.schukai.com/" target="_blank" class="menu-item" id="schukai_link" >schukai GmbH</a></h2><h2><a href="https://www.npmjs.com/package/@schukai/monster" target="_blank" class="menu-item" id="npm_link" >NPM</a></h2><h3>Namespaces</h3><ul><li><a href="global.html#Monster">Monster</a><ul class='methods'><li data-type='method' style='display: none;'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method' style='display: none;'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li><a href="Monster.DOM.html">DOM</a></li></ul><h3>Classes</h3><ul><li><a href="Monster.DOM.Assembler.html">Assembler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li><a href="Monster.DOM.Handle.html">Handle</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li><a href="Monster.Namespace.html">Namespace</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li><a href="Monster_Constraints.AndOperator.html">AndOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Invalid.html">Invalid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsArray.html">IsArray</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsObject.html">IsObject</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.OrOperator.html">OrOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Valid.html">Valid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Data.Pathfinder.html">Pathfinder</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li><a href="Monster_Data.Pipe.html">Pipe</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li><a href="Monster_Data.Transformer.html">Transformer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li><a href="Monster_DOM.Template.html">Template</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li><a href="Monster_Logging.Handler.html">Handler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li><a href="Monster_Logging.LogEntry.html">LogEntry</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li><a href="Monster_Logging.Logger.html">Logger</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li><a href="Monster_Types.Base.html">Base</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.ID.html">ID</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.Observer.html">Observer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li><a href="Monster_Types.ObserverList.html">ObserverList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li><a href="Monster_Types.Queue.html">Queue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.RandomID.html">RandomID</a></li><li><a href="Monster_Types.Stack.html">Stack</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li><a href="Monster_Types.TokenList.html">TokenList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.Version.html">Version</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li><a href="Monster_Util.Comparator.html">Comparator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul><h3><a href="global.html">Global</a></h3> -</nav> - -<div id="main"> - - <h1 class="page-title">DOM</h1> - - - - - - - -<section> - -<header> - - <h2> - <span class="ancestors"><a href="global.html#Monster">Monster</a>.</span> - - DOM - </h2> - - -</header> - -<article> - - <div class="container-overview"> - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_namespace.js.html">dom/namespace.js</a>, <a href="dom_namespace.js.html#line3">line 3</a> - </li></ul></dd> - - - - - - - - - - - - - - - - - - - - <dt class="tag-author">Author:</dt> - <dd class="tag-author"> - <ul> - <li>schukai GmbH</li> - </ul> - </dd> - - - - - - - - - - - - - -</dl> - - - - - - - - - </div> - - - - - - - - <h3 class="subsection-title">Classes</h3> - - <dl> - <dt><a href="Monster.DOM.Assembler.html">Assembler</a></dt> - <dd></dd> - - <dt><a href="Monster.DOM.Handle.html">Handle</a></dt> - <dd></dd> - </dl> - - - - - - - - - - <h3 class="subsection-title">Members</h3> - - - -<h4 class="name" id=".ATTRIBUTEPREFIX"><span class="type-signature">(static, constant) </span>ATTRIBUTEPREFIX<span class="type-signature"> :string</span></h4> - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line19">line 19</a> - </li></ul></dd> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</dl> - - - - - -<div class="description usertext"> - <p>attribute prefix</p> -</div> - - - - <h5>Type:</h5> - <ul> - <li> - -<span class="param-type">string</span> - - - </li> - </ul> - - - - - - - - - - - - - - -</article> - -</section> - - - - - - -</div> - -<br class="clear"> - -<footer> -</footer> - -<script>prettyPrint();</script> -<script src="scripts/polyfill.js"></script> -<script src="scripts/linenumber.js"></script> - -<script src="scripts/search.js" defer></script> - - -<script src="scripts/collapse.js" defer></script> - - -</body> -</html> \ No newline at end of file diff --git a/docs/Monster.Namespace.html b/docs/Monster.Namespace.html index 3fa0f198b..3ea8e24af 100644 --- a/docs/Monster.Namespace.html +++ b/docs/Monster.Namespace.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> diff --git a/docs/Monster.Types.Version.html b/docs/Monster.Types.Version.html deleted file mode 100644 index fbfc6bebf..000000000 --- a/docs/Monster.Types.Version.html +++ /dev/null @@ -1,769 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - Version - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6076153" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4157139><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=567470><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1624951><div class="accordion-heading child"><a href="Monster.Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster.Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1597936><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=3296142><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7732220><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6464282><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=228813><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3417425><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6631880><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8503679><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=1883626><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=6723744><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=3823571><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=9367708><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=331745><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=1472395><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3098346><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8194614><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8997485><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=20182><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6460367><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7854899><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=5451503><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=4586466><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3923408><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8272311><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6282289><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1730183><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=640165><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="5212647" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=8935145><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster.Types.html">Types</a></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=3708305><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=5102564><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=290094><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7383981><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8169817" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - Version - </h1> - - - - - - - -<section> - - -<header> - - - <h2> - - <span class="ancestors"><a href="global.html#Monster">Monster</a><a href="Monster.Types.html">.Types</a>.</span> - - Version - - </h2> - - - <div class="class-description"><p>the version object contains a sematic version number</p> -<p>you can create the object via the monster namespace <code>new Monster.Types.Version()</code>.</p> -<pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; -console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3 -console.log(new Monster.Types.Version('1')) // ↦ 1.0.0 -</script> -</code></pre> -<p>Alternatively, you can also integrate this class individually.</p> -<pre class="prettyprint source"><code><script type="module"> -import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; -console.log(new Version('1.2.3')) // ↦ 1.2.3 -console.log(new Version('1')) // ↦ 1.0.0 -</script> -</code></pre> -<p>some examples</p></div> - - -</header> - - -<article> - <div class="container-overview"> - - - - - <h2>Constructor</h2> - - - <h4 class="name" id="Version"> - <a href="#Version">#</a> - <span class="type-signature"></span>new Version<span class="signature">(major, minor, patch)</span><span class="type-signature"></span> - </h4> - - - - - - - - - - - - - - <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> - <strong>Parameters:</strong> - - -<table class="params"> - <thead> - <tr> - - <th>Name</th> - - - <th>Type</th> - - - - - - <th class="last">Description</th> - </tr> - </thead> - - <tbody> - - - <tr> - - <td class="name"><code>major</code></td> - - - <td class="type"> - - </td> - - - - - - <td class="description last"></td> - </tr> - - - - <tr> - - <td class="name"><code>minor</code></td> - - - <td class="type"> - - </td> - - - - - - <td class="description last"></td> - </tr> - - - - <tr> - - <td class="name"><code>patch</code></td> - - - <td class="type"> - - </td> - - - - - - <td class="description last"></td> - </tr> - - - </tbody> -</table> - - </div> - - - - - - - -<dl class="details"> - - - - - <div class="details-item-container"> - <dt class="tag-since">Since:</dt> - <dd class="tag-since"><ul class="dummy"><li>1.0.0</li></ul></dd> - </div> - - - - - - - - - - - - - - - - <div class="details-item-container"> - <dt class="tag-author">Author:</dt> - <dd class="tag-author"> - <ul> - <li>schukai GmbH</li> - </ul> - </dd> - </div> - - - - <div class="details-item-container"> - <dt class="tag-copyright">Copyright:</dt> - <dd class="tag-copyright"><ul class="dummy"><li>schukai GmbH</li></ul></dd> - </div> - - - - - - - - <div class="details-item-container"> - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="types_version.js.html">types/version.js</a>, <a href="types_version.js.html#line45">line 45</a> - </li></ul></dd> - </div> - - - - - - - -</dl> - - - - - - - - - - - - - - <div class="method-member-container mt-20"> - <strong>Throws:</strong> - - <ul> - - <li> - - <div class="param-desc"> - - <p>major is not a number</p> - - </div> - -</li> - - <li> - - <div class="param-desc"> - - <p>minor is not a number</p> - - </div> - -</li> - - <li> - - <div class="param-desc"> - - <p>patch is not a number</p> - - </div> - -</li> - - </ul> - - </div> - - - - - - <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> - <strong>Example</strong> - - <div class="rel"> - <pre class="prettyprint"><code>import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; - -new Version('1.0.0') // ↦ 1.0.0 -new Version(1) // ↦ 1.0.0 -new Version(1, 0, 0) // ↦ 1.0.0 -new Version('1.2.3', 4, 5) // ↦ 1.4.5</code></pre> - - - <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';\n\nnew Version('1.0.0') // ↦ 1.0.0\nnew Version(1) // ↦ 1.0.0\nnew Version(1, 0, 0) // ↦ 1.0.0\nnew Version('1.2.3', 4, 5) // ↦ 1.4.5", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> - <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> - </form> - - </div> - - </div> - - - - </div> - - - - - - - - - - - - - - - <h3 class="subsection-title">Methods</h3> - - - - - - - <h4 class="name" id="compareTo"> - <a href="#compareTo">#</a> - <span class="type-signature"></span>compareTo<span class="signature">(version)</span><span class="type-signature"> → {number}</span> - </h4> - - - - - - <div class="description"> - <p>returns 0 if equal, -1 if the object version is less and 1 if greater -then the compared version</p> - </div> - - - - - - - - - - <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> - <strong>Parameters:</strong> - - -<table class="params"> - <thead> - <tr> - - <th>Name</th> - - - <th>Type</th> - - - - - - <th class="last">Description</th> - </tr> - </thead> - - <tbody> - - - <tr> - - <td class="name"><code>version</code></td> - - - <td class="type"> - - -<span class="param-type">string</span> -| - -<span class="param-type">Version</span> - - - - </td> - - - - - - <td class="description last"><p>Version to compare</p></td> - </tr> - - - </tbody> -</table> - - </div> - - - - - - - -<dl class="details"> - - - - - - - - - - - - - - - - - - - - - - - - - - - <div class="details-item-container"> - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="types_version.js.html">types/version.js</a>, <a href="types_version.js.html#line112">line 112</a> - </li></ul></dd> - </div> - - - - - - - -</dl> - - - - - - - - - - - - - - - - <div class="method-member-container mt-20"> - <strong>Returns:</strong> - - - - -<dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">number</span> - - - </dd> -</dl> - - - </div> - - - - - - - - - - <h4 class="name" id="toString"> - <a href="#toString">#</a> - <span class="type-signature"></span>toString<span class="signature">()</span><span class="type-signature"> → {string}</span> - </h4> - - - - - - - - - - - - - - - - - - - -<dl class="details"> - - - - - - - - - - - - - - - - - - - - - - - - - - - <div class="details-item-container"> - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="types_version.js.html">types/version.js</a>, <a href="types_version.js.html#line101">line 101</a> - </li></ul></dd> - </div> - - - - - - - -</dl> - - - - - - - - - - - - - - - - <div class="method-member-container mt-20"> - <strong>Returns:</strong> - - - - -<dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">string</span> - - - </dd> -</dl> - - - </div> - - - - - - - - - - -</article> - -</section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/Monster.Types.html b/docs/Monster.Types.html deleted file mode 100644 index 4aae67937..000000000 --- a/docs/Monster.Types.html +++ /dev/null @@ -1,293 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - Types - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6076153" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4157139><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=567470><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1624951><div class="accordion-heading child"><a href="Monster.Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster.Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1597936><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=3296142><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7732220><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6464282><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=228813><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3417425><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6631880><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8503679><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=1883626><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=6723744><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=3823571><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=9367708><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=331745><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=1472395><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3098346><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8194614><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8997485><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=20182><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6460367><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7854899><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=5451503><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=4586466><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3923408><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8272311><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6282289><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1730183><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=640165><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="5212647" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=8935145><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster.Types.html">Types</a></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=3708305><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=5102564><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=290094><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7383981><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8169817" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - Types - </h1> - - - - - - - -<section> - - -<header> - - - <h2> - - <span class="ancestors"><a href="global.html#Monster">Monster</a>.</span> - - Types - - </h2> - - - -</header> - - -<article> - <div class="container-overview"> - - - - - - - - -<dl class="details"> - - - - - - - - - - - - - - - - - - - <div class="details-item-container"> - <dt class="tag-author">Author:</dt> - <dd class="tag-author"> - <ul> - <li>schukai GmbH</li> - </ul> - </dd> - </div> - - - - - - - - - - <div class="details-item-container"> - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="types_namespace.js.html">types/namespace.js</a>, <a href="types_namespace.js.html#line3">line 3</a> - </li></ul></dd> - </div> - - - - - - - -</dl> - - - - - - - </div> - - - - - - - <h3 class="subsection-title">Classes</h3> - - <dl> - <dt><a href="Monster.Types.Version.html">Version</a></dt> - <dd></dd> - </dl> - - - - - - - - - - - - - -</article> - -</section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/Monster_Constraints.AbstractConstraint.html b/docs/Monster_Constraints.AbstractConstraint.html index ef9461978..0834a8bd3 100644 --- a/docs/Monster_Constraints.AbstractConstraint.html +++ b/docs/Monster_Constraints.AbstractConstraint.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> diff --git a/docs/Monster_Constraints.AbstractOperator.html b/docs/Monster_Constraints.AbstractOperator.html index e6bdc0305..82afc4e1c 100644 --- a/docs/Monster_Constraints.AbstractOperator.html +++ b/docs/Monster_Constraints.AbstractOperator.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> diff --git a/docs/Monster_Constraints.AndOperator.html b/docs/Monster_Constraints.AndOperator.html index f82565da1..363ea5fe2 100644 --- a/docs/Monster_Constraints.AndOperator.html +++ b/docs/Monster_Constraints.AndOperator.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>The AndOperator is used to link several contraints. The constraint is fulfilled if all constraints of the operators are fulfilled.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; new Monster.Constraint.AndOperator(); </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; +import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; new AndOperator(); </script> </code></pre></div> @@ -260,9 +260,9 @@ new AndOperator(); <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; -import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; -import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; + <pre class="prettyprint"><code>import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; +import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; +import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; new AndOperator( new Valid(), new Valid()).isValid() @@ -278,7 +278,7 @@ new Invalid(), new Valid()).isValid() <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\nimport {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\nimport {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';\n\nnew AndOperator(\nnew Valid(), new Valid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ true\n\nnew AndOperator(\nnew Invalid(), new Valid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ false", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\nimport {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\nimport {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';\n\nnew AndOperator(\nnew Valid(), new Valid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ true\n\nnew AndOperator(\nnew Invalid(), new Valid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ false", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Constraints.Invalid.html b/docs/Monster_Constraints.Invalid.html index 95a5bfd33..9345ce24e 100644 --- a/docs/Monster_Constraints.Invalid.html +++ b/docs/Monster_Constraints.Invalid.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -149,13 +149,13 @@ <div class="class-description"><p>The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.</p> <p>You can call the method via the monster namespace <code>new Monster.Constraint.Invalid()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; new Monster.Constraint.Invalid(); </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; +import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; new Invalid(); </script> </code></pre></div> @@ -261,7 +261,7 @@ new Invalid(); <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; + <pre class="prettyprint"><code>import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; new Invalid().isValid() .then(()=>console.log(true)) @@ -270,7 +270,7 @@ new Invalid().isValid() <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\n\nnew Invalid().isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ false", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n\nnew Invalid().isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ false", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Constraints.IsArray.html b/docs/Monster_Constraints.IsArray.html index d7e38e0b2..324a0c0cb 100644 --- a/docs/Monster_Constraints.IsArray.html +++ b/docs/Monster_Constraints.IsArray.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Constraint.IsObject()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; console.log(new Monster.Constraint.IsArray()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; +import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; console.log(new IsArray()) </script> </code></pre></div> @@ -260,7 +260,7 @@ console.log(new IsArray()) <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; + <pre class="prettyprint"><code>import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; new IsArray() .isValid([]) @@ -274,7 +274,7 @@ new IsArray() <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';\n\nnew IsArray()\n.isValid([])\n.then(()=>console.log(true));\n// ↦ true\n\nnew IsArray()\n.isValid(99)\n.catch(e=>console.log(e));\n// ↦ 99", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';\n\nnew IsArray()\n.isValid([])\n.then(()=>console.log(true));\n// ↦ true\n\nnew IsArray()\n.isValid(99)\n.catch(e=>console.log(e));\n// ↦ 99", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Constraints.IsObject.html b/docs/Monster_Constraints.IsObject.html index 68bc310b2..34cedbb14 100644 --- a/docs/Monster_Constraints.IsObject.html +++ b/docs/Monster_Constraints.IsObject.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Constraint.IsObject()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; console.log(new Monster.Constraint.IsObject()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; +import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; console.log(new IsObject()) </script> </code></pre></div> @@ -260,7 +260,7 @@ console.log(new IsObject()) <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; + <pre class="prettyprint"><code>import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; new IsObject() .isValid({}) @@ -275,7 +275,7 @@ new IsObject() <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';\n\nnew IsObject()\n.isValid({})\n.then(()=>console.log(true));\n// ↦ true\n\n\nnew IsObject()\n.isValid(99)\n.catch(e=>console.log(e));\n// ↦ 99", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';\n\nnew IsObject()\n.isValid({})\n.then(()=>console.log(true));\n// ↦ true\n\n\nnew IsObject()\n.isValid(99)\n.catch(e=>console.log(e));\n// ↦ 99", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Constraints.OrOperator.html b/docs/Monster_Constraints.OrOperator.html index 0a2b71b23..c9cbe0e13 100644 --- a/docs/Monster_Constraints.OrOperator.html +++ b/docs/Monster_Constraints.OrOperator.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>The OrOperator is used to link several constraints. The constraint is fulfilled if one of the constraints is fulfilled.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js'; new Monster.Constraint.OrOperator(); </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js'; +import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js'; new OrOperator(); </script> </code></pre></div> @@ -260,9 +260,9 @@ new OrOperator(); <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; -import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; -import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/oroperator.js'; + <pre class="prettyprint"><code>import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; +import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; +import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js'; new OrOperator( new Valid(), new Invalid()).isValid() @@ -278,7 +278,7 @@ new Invalid(), new Invalid()).isValid() <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\nimport {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\nimport {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/oroperator.js';\n\nnew OrOperator(\nnew Valid(), new Invalid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ true\n\nnew OrOperator(\nnew Invalid(), new Invalid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ false", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\nimport {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\nimport {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js';\n\nnew OrOperator(\nnew Valid(), new Invalid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ true\n\nnew OrOperator(\nnew Invalid(), new Invalid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ false", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Constraints.Valid.html b/docs/Monster_Constraints.Valid.html index ddc5ea42c..9dc658900 100644 --- a/docs/Monster_Constraints.Valid.html +++ b/docs/Monster_Constraints.Valid.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -149,13 +149,13 @@ <div class="class-description"><p>The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.</p> <p>You can call the method via the monster namespace <code>new Monster.Constraint.Valid()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; new Monster.Constraint.Valid(); </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; +import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; new Valid(); </script> </code></pre></div> @@ -261,7 +261,7 @@ new Valid(); <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; + <pre class="prettyprint"><code>import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; new Valid().isValid() .then(()=>console.log(true)) @@ -270,7 +270,7 @@ new Valid().isValid() <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\n\nnew Valid().isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ true", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n\nnew Valid().isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ true", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Constraints.html b/docs/Monster_Constraints.html index 5c393e1c8..026255f5a 100644 --- a/docs/Monster_Constraints.html +++ b/docs/Monster_Constraints.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> diff --git a/docs/Monster_DOM.Assembler.html b/docs/Monster_DOM.Assembler.html index c5f5bd6cc..294513ef4 100644 --- a/docs/Monster_DOM.Assembler.html +++ b/docs/Monster_DOM.Assembler.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.DOM.Assembler()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js'; console.log(new Monster.DOM.Assembler()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js'; +import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js'; console.log(new Assembler()) </script> </code></pre></div> diff --git a/docs/Monster_DOM.CustomElement.html b/docs/Monster_DOM.CustomElement.html index bf634227b..0a7bf79d0 100644 --- a/docs/Monster_DOM.CustomElement.html +++ b/docs/Monster_DOM.CustomElement.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -151,13 +151,13 @@ <p>important: after defining a <code>CustomElement</code>, the <code>registerCustomElement</code> method must be called with the new class name. only then will the tag defined via the <code>getTag</code> method be made known to the DOM.</p> <pre class="prettyprint source"><code><script type="module"> -import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js'; +import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js'; console.log(new Monster.DOM.CustomElement()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js'; +import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js'; console.log(new CustomElement()) </script> </code></pre> @@ -174,12 +174,7 @@ my-custom-element:defined { } </style> -</code></pre> -<ul> -<li>@example -// returns 2 -globalNS.method1(5, 10);</li> -</ul></div> +</code></pre></div> </header> @@ -203,6 +198,11 @@ globalNS.method1(5, 10);</li> + <div class="description"> + <p>A new object is created. First the <code>initOptions</code> method is called. Here the +options can be defined in derived classes. Subsequently, the shadowRoot is initialized.</p> + </div> + @@ -285,6 +285,38 @@ globalNS.method1(5, 10);</li> + <div class="method-member-container mt-20"> + <strong>Throws:</strong> + + + +<dl> + <dt> + <div class="param-desc"> + <p>the options attribute does not contain a valid json definition.</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">Error</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + + + + </div> + @@ -293,12 +325,35 @@ globalNS.method1(5, 10);</li> <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>// returns 3 -globalNS.method(5, 15);</code></pre> + <pre class="prettyprint"><code>// In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`. +// You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`. + +class MonsterMyElement extends CustomElement { + + constructor() { + super(); + } + + getTemplate() { + return `<div class="form-check"> + <label class="form-check-label"> + <input class="form-check-input" type="checkbox" value=""> + Checkvalue + </label> + </div>` + } + + static getTag() { + return "monster-my-element" + } + +} + +// ↦ <monster-my-element></monster-my-element></code></pre> <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "// returns 3\nglobalNS.method(5, 15);", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "// In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`.\n// You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`.\n\nclass MonsterMyElement extends CustomElement {\n\n constructor() {\n super();\n }\n \n getTemplate() {\n return `<div class=\"form-check\">\n <label class=\"form-check-label\">\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\">\n Checkvalue\n </label>\n </div>`\n }\n\n static getTag() {\n return \"monster-my-element\"\n }\n\n}\n\n// ↦ <monster-my-element></monster-my-element>", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> @@ -318,21 +373,922 @@ globalNS.method(5, 15);</code></pre> - + + + + <h3 class="subsection-title">Members</h3> + + + +<h4 class="name" id="defaults"> + <a href="#defaults">#</a> + <span class="type-signature"></span>defaults<span class="type-signature"></span> +</h4> + + + + +<div class="description"> + <table> +<thead> +<tr> +<th>option</th> +<th>description</th> +</tr> +</thead> +<tbody> +<tr> +<td>shadowMode</td> +<td><code>open</code> Elements of the shadow root are accessible from JavaScript outside the root, for example using. <code>close</code> Denies access to the node(s) of a closed shadow root from JavaScript outside it</td> +</tr> +<tr> +<td>delegatesFocus</td> +<td>A boolean that, when set to true, specifies behavior that mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling.</td> +</tr> +</tbody> +</table> +<p>Derived classes can override and extend this method as follows.</p> +<pre class="prettyprint source"><code>get defaults() { + return Object.assign({}, super.defaults, { + myValue:true + }); +} +</code></pre> +</div> + + + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + + + + + + + + + + + + + + + + + + + + + + + + + + <div class="details-item-container"> + <dt class="tag-see">See:</dt> + <dd class="tag-see"> + <ul> + <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow">https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow</a></li> + </ul> + </dd> + </div> + + + +</dl> + + + + + + + + + + + + + <h3 class="subsection-title">Methods</h3> + + + + + + + <h4 class="name" id=".getCSSStyleSheet"> + <a href="#.getCSSStyleSheet">#</a> + <span class="type-signature">(static) </span>getCSSStyleSheet<span class="signature">()</span><span class="type-signature"> → {CSSStyleSheet}</span> + </h4> + + + + + + + + + + + + + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + + + + + + + <div class="method-member-container mt-20"> + <strong>Returns:</strong> + + + + +<dl class="param-type"> + <dt> + Type + </dt> + <dd> + +<span class="param-type">CSSStyleSheet</span> + + + </dd> +</dl> + + + </div> + + + + + + + + + + <h4 class="name" id=".getTag"> + <a href="#.getTag">#</a> + <span class="type-signature">(static) </span>getTag<span class="signature">()</span><span class="type-signature"> → {string}</span> + </h4> + + + + + + <div class="description"> + <p>There is no check on the name by this class. the developer is responsible for assigning an appropriate tag. +if the name is not valid, registerCustomElement() will issue an erro</p> + </div> + + + + + + + + + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + + + + + <div class="method-member-container mt-20"> + <strong>Throws:</strong> + + + +<dl> + <dt> + <div class="param-desc"> + <p>the method getTag must be overwritten by the derived class.</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">Error</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + + + + </div> + + + + <div class="method-member-container mt-20"> + <strong>Returns:</strong> + + + + +<dl class="param-type"> + <dt> + Type + </dt> + <dd> + +<span class="param-type">string</span> + + + </dd> +</dl> + + + </div> + + + + + + + + + + <h4 class="name" id=".getTemplate"> + <a href="#.getTemplate">#</a> + <span class="type-signature">(static) </span>getTemplate<span class="signature">()</span><span class="type-signature"> → {string}</span> + </h4> + + + + + + <div class="description"> + <p>This method defines the default template if no template with the id is found in the dom.</p> + </div> + + + + + + + + + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + + + + + <div class="method-member-container mt-20"> + <strong>Throws:</strong> + + + +<dl> + <dt> + <div class="param-desc"> + <p>the method getTemplate must be overwritten by the derived class.</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">Error</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + + + + </div> + + + + <div class="method-member-container mt-20"> + <strong>Returns:</strong> + + + + +<dl class="param-type"> + <dt> + Type + </dt> + <dd> + +<span class="param-type">string</span> + + + </dd> +</dl> + + + </div> + + + + + + + + + + <h4 class="name" id="adoptedCallback"> + <a href="#adoptedCallback">#</a> + <span class="type-signature"></span>adoptedCallback<span class="signature">()</span><span class="type-signature"> → {void}</span> + </h4> + + + + + + <div class="description"> + <p>The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).</p> + </div> + + + + + + + + + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + + + + + + + <div class="method-member-container mt-20"> + <strong>Returns:</strong> + + + + +<dl class="param-type"> + <dt> + Type + </dt> + <dd> + +<span class="param-type">void</span> + + + </dd> +</dl> + + + </div> + + + + + + + + + + <h4 class="name" id="assemble"> + <a href="#assemble">#</a> + <span class="type-signature"></span>assemble<span class="signature">()</span><span class="type-signature"> → {CustomElement}</span> + </h4> + + + + + + + + + + + + + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + + + + + + + <div class="method-member-container mt-20"> + <strong>Returns:</strong> + + + + +<dl class="param-type"> + <dt> + Type + </dt> + <dd> + +<span class="param-type">CustomElement</span> + + + </dd> +</dl> + + + </div> + + + + + + + + + + <h4 class="name" id="attributeChangedCallback"> + <a href="#attributeChangedCallback">#</a> + <span class="type-signature"></span>attributeChangedCallback<span class="signature">(attrName, oldVal, newVal)</span><span class="type-signature"> → {void}</span> + </h4> + + + + + + <div class="description"> + <p>Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial +values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback.</p> + </div> + + + + + + + + + + <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> + <strong>Parameters:</strong> + + +<table class="params"> + <thead> + <tr> + + <th>Name</th> + + + <th>Type</th> + + + + + + <th class="last">Description</th> + </tr> + </thead> + + <tbody> + + + <tr> + + <td class="name"><code>attrName</code></td> + + + <td class="type"> + + +<span class="param-type">string</span> + + + + </td> + + + + + + <td class="description last"></td> + </tr> + + + + <tr> + + <td class="name"><code>oldVal</code></td> + + + <td class="type"> + + +<span class="param-type">string</span> + + + + </td> + + + + + + <td class="description last"></td> + </tr> + + + + <tr> + + <td class="name"><code>newVal</code></td> + + + <td class="type"> + + +<span class="param-type">string</span> + + + + </td> + + + + + + <td class="description last"></td> + </tr> + + + </tbody> +</table> + + </div> + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + + + + + + + <div class="method-member-container mt-20"> + <strong>Returns:</strong> + + + + +<dl class="param-type"> + <dt> + Type + </dt> + <dd> + +<span class="param-type">void</span> + + + </dd> +</dl> + + + </div> + - - - <h3 class="subsection-title">Methods</h3> - <h4 class="name" id=".getTag"> - <a href="#.getTag">#</a> - <span class="type-signature">(static) </span>getTag<span class="signature">()</span><span class="type-signature"> → {string}</span> + <h4 class="name" id="connectedCallback"> + <a href="#connectedCallback">#</a> + <span class="type-signature"></span>connectedCallback<span class="signature">()</span><span class="type-signature"> → {void}</span> </h4> @@ -340,8 +1296,8 @@ globalNS.method(5, 15);</code></pre> <div class="description"> - <p>there is no check on the name by this class. the developer is responsible for assigning an appropriate tag. -if the name is not valid, registerCustomElement() will issue an erro</p> + <p>Called every time the element is inserted into the DOM. Useful for running setup code, such as +fetching resources or rendering. Generally, you should try to delay work until this time.</p> </div> @@ -405,38 +1361,6 @@ if the name is not valid, registerCustomElement() will issue an erro</p> - <div class="method-member-container mt-20"> - <strong>Throws:</strong> - - - -<dl> - <dt> - <div class="param-desc"> - <p>the method getTag must be overwritten by the derived class.</p> - </div> - </dt> - <dd></dd> - <dt> - <dl> - <dt> - Type - </dt> - <dd> - -<span class="param-type">Error</span> - - - </dd> - </dl> - </dt> - <dd></dd> -</dl> - - - - </div> - <div class="method-member-container mt-20"> @@ -451,7 +1375,7 @@ if the name is not valid, registerCustomElement() will issue an erro</p> </dt> <dd> -<span class="param-type">string</span> +<span class="param-type">void</span> </dd> @@ -468,19 +1392,15 @@ if the name is not valid, registerCustomElement() will issue an erro</p> - <h4 class="name" id="adoptedCallback"> - <a href="#adoptedCallback">#</a> - <span class="type-signature"></span>adoptedCallback<span class="signature">()</span><span class="type-signature"> → {void}</span> + <h4 class="name" id="disassemble"> + <a href="#disassemble">#</a> + <span class="type-signature"></span>disassemble<span class="signature">()</span><span class="type-signature"> → {CustomElement}</span> </h4> - <div class="description"> - <p>The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).</p> - </div> - @@ -500,6 +1420,11 @@ if the name is not valid, registerCustomElement() will issue an erro</p> + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + @@ -556,7 +1481,7 @@ if the name is not valid, registerCustomElement() will issue an erro</p> </dt> <dd> -<span class="param-type">void</span> +<span class="param-type">CustomElement</span> </dd> @@ -573,9 +1498,9 @@ if the name is not valid, registerCustomElement() will issue an erro</p> - <h4 class="name" id="attributeChangedCallback"> - <a href="#attributeChangedCallback">#</a> - <span class="type-signature"></span>attributeChangedCallback<span class="signature">(attrName, oldVal, newVal)</span><span class="type-signature"> → {void}</span> + <h4 class="name" id="disconnectedCallback"> + <a href="#disconnectedCallback">#</a> + <span class="type-signature"></span>disconnectedCallback<span class="signature">()</span><span class="type-signature"> → {void}</span> </h4> @@ -583,8 +1508,7 @@ if the name is not valid, registerCustomElement() will issue an erro</p> <div class="description"> - <p>Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial -values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback.</p> + <p>Called every time the element is removed from the DOM. Useful for running clean up code.</p> </div> @@ -595,103 +1519,6 @@ values when an element is created by the parser, or upgraded. Note: only attribu - <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> - <strong>Parameters:</strong> - - -<table class="params"> - <thead> - <tr> - - <th>Name</th> - - - <th>Type</th> - - - - - - <th class="last">Description</th> - </tr> - </thead> - - <tbody> - - - <tr> - - <td class="name"><code>attrName</code></td> - - - <td class="type"> - - -<span class="param-type">string</span> - - - - </td> - - - - - - <td class="description last"></td> - </tr> - - - - <tr> - - <td class="name"><code>oldVal</code></td> - - - <td class="type"> - - -<span class="param-type">string</span> - - - - </td> - - - - - - <td class="description last"></td> - </tr> - - - - <tr> - - <td class="name"><code>newVal</code></td> - - - <td class="type"> - - -<span class="param-type">string</span> - - - - </td> - - - - - - <td class="description last"></td> - </tr> - - - </tbody> -</table> - - </div> - @@ -776,19 +1603,15 @@ values when an element is created by the parser, or upgraded. Note: only attribu - <h4 class="name" id="connectedCallback"> - <a href="#connectedCallback">#</a> - <span class="type-signature"></span>connectedCallback<span class="signature">()</span><span class="type-signature"> → {void}</span> + <h4 class="name" id="getOption"> + <a href="#getOption">#</a> + <span class="type-signature"></span>getOption<span class="signature">(key, *})</span><span class="type-signature"> → {*}</span> </h4> - <div class="description"> - <p>Called every time the element is inserted into the DOM. Useful for running setup code, such as -fetching resources or rendering. Generally, you should try to delay work until this time.</p> - </div> @@ -797,6 +1620,74 @@ fetching resources or rendering. Generally, you should try to delay work until t + <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> + <strong>Parameters:</strong> + + +<table class="params"> + <thead> + <tr> + + <th>Name</th> + + + <th>Type</th> + + + + + + <th class="last">Description</th> + </tr> + </thead> + + <tbody> + + + <tr> + + <td class="name"><code>key</code></td> + + + <td class="type"> + + +<span class="param-type">string</span> + + + + </td> + + + + + + <td class="description last"></td> + </tr> + + + + <tr> + + <td class="name"><code>*}</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>defaultValue</p></td> + </tr> + + + </tbody> +</table> + + </div> @@ -809,6 +1700,11 @@ fetching resources or rendering. Generally, you should try to delay work until t + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + @@ -865,7 +1761,7 @@ fetching resources or rendering. Generally, you should try to delay work until t </dt> <dd> -<span class="param-type">void</span> +<span class="param-type">*</span> </dd> @@ -882,19 +1778,15 @@ fetching resources or rendering. Generally, you should try to delay work until t - <h4 class="name" id="disconnectedCallback"> - <a href="#disconnectedCallback">#</a> - <span class="type-signature"></span>disconnectedCallback<span class="signature">()</span><span class="type-signature"> → {void}</span> + <h4 class="name" id="init"> + <a href="#init">#</a> + <span class="type-signature"></span>init<span class="signature">()</span><span class="type-signature"> → {CustomElement}</span> </h4> - <div class="description"> - <p>Called every time the element is removed from the DOM. Useful for running clean up code.</p> - </div> - @@ -914,6 +1806,11 @@ fetching resources or rendering. Generally, you should try to delay work until t + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + @@ -970,7 +1867,7 @@ fetching resources or rendering. Generally, you should try to delay work until t </dt> <dd> -<span class="param-type">void</span> +<span class="param-type">CustomElement</span> </dd> diff --git a/docs/Monster_DOM.Handle.html b/docs/Monster_DOM.Handle.html deleted file mode 100644 index 6bccd848e..000000000 --- a/docs/Monster_DOM.Handle.html +++ /dev/null @@ -1,677 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - - <meta charset="utf-8"> - <title>Handle - awaken the monster in you; javascript library by schukai GmbH</title> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <script src="scripts/prettify/prettify.js"></script> - <script src="scripts/prettify/lang-css.js"></script> - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/prettify.css"> - <link type="text/css" rel="stylesheet" href="styles/jsdoc.css"> - <script src="scripts/nav.js" defer></script> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> -</head> -<body> - -<input type="checkbox" id="nav-trigger" class="nav-trigger" /> -<label for="nav-trigger" class="navicon-button x"> - <div class="navicon"></div> -</label> - -<label for="nav-trigger" class="overlay"></label> - -<nav > - - <input type="text" id="nav-search" placeholder="Search" /> - - <h2><a href="index.html">Home</a></h2><h2><a href="https://www.schukai.com/" target="_blank" class="menu-item" id="schukai_link" >schukai GmbH</a></h2><h2><a href="https://www.npmjs.com/package/@schukai/monster" target="_blank" class="menu-item" id="npm_link" >NPM</a></h2><h3>Namespaces</h3><ul><li><a href="global.html#Monster">Monster</a><ul class='methods'><li data-type='method' style='display: none;'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method' style='display: none;'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li><a href="Monster.DOM.html">DOM</a></li></ul><h3>Classes</h3><ul><li><a href="Monster.DOM.Assembler.html">Assembler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li><a href="Monster.Namespace.html">Namespace</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li><a href="Monster_Constraints.AndOperator.html">AndOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Invalid.html">Invalid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsArray.html">IsArray</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsObject.html">IsObject</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.OrOperator.html">OrOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Valid.html">Valid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Data.Pathfinder.html">Pathfinder</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li><a href="Monster_Data.Pipe.html">Pipe</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li><a href="Monster_Data.Transformer.html">Transformer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li><a href="Monster_DOM.Handle.html">Handle</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.Handle.html#append">append</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Handle.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Handle.html#update">update</a></li></ul></li><li><a href="Monster_DOM.Template.html">Template</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li><a href="Monster_Logging.Handler.html">Handler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li><a href="Monster_Logging.LogEntry.html">LogEntry</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li><a href="Monster_Logging.Logger.html">Logger</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li><a href="Monster_Types.Base.html">Base</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.ID.html">ID</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.Observer.html">Observer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li><a href="Monster_Types.ObserverList.html">ObserverList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li><a href="Monster_Types.Queue.html">Queue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.RandomID.html">RandomID</a></li><li><a href="Monster_Types.Stack.html">Stack</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li><a href="Monster_Types.TokenList.html">TokenList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.Version.html">Version</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li><a href="Monster_Util.Comparator.html">Comparator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul><h3><a href="global.html">Global</a></h3> -</nav> - -<div id="main"> - - <h1 class="page-title">Handle</h1> - - - - - - - -<section> - -<header> - - <h2> - Handle - </h2> - - <div class="class-description usertext"><p>Handle class</p> -<p>you can call the method via the monster namespace <code>new Monster.DOM.Handle()</code>.</p> -<pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/handle.js'; -console.log(new Monster.DOM.Handle()) -</script> -</code></pre> -<p>Alternatively, you can also integrate this function individually.</p> -<pre class="prettyprint source"><code><script type="module"> -import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/handle.js'; -console.log(new Handle()) -</script> -</code></pre></div> - - -</header> - -<article> - - <div class="container-overview"> - - - - - <h2>Constructor</h2> - - - <h4 class="name" id="Handle"><span class="type-signature"></span>new Handle<span class="signature">(data)</span><span class="type-signature"></span></h4> - - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_handle.js.html">dom/handle.js</a>, <a href="dom_handle.js.html#line48">line 48</a> - </li></ul></dd> - - - - - - <dt class="tag-since">Since:</dt> - <dd class="tag-since"><ul class="dummy"><li>1.6.0</li></ul></dd> - - - - - - - - - - - - - - - - - - <dt class="tag-copyright">Copyright:</dt> - <dd class="tag-copyright"><ul class="dummy"><li>schukai GmbH</li></ul></dd> - - - - - - - - - - - -</dl> - - - - - - - - - - - - - - - - <h5>Parameters:</h5> - - -<table class="params"> - <thead> - <tr> - - <th>Name</th> - - - <th>Type</th> - - - - - - <th class="last">Description</th> - </tr> - </thead> - - <tbody> - - - <tr> - - <td class="name"><code>data</code></td> - - - <td class="type"> - - -<span class="param-type">ProxyObserver</span> - - - - </td> - - - - - - <td class="description last"></td> - </tr> - - - </tbody> -</table> - - - - - - - - - - - - - - - - - - - - - </div> - - - - - - - - - - - - - - - - - - <h3 class="subsection-title">Methods</h3> - - - - - - - <h4 class="name" id="append"><span class="type-signature"></span>append<span class="signature">(node)</span><span class="type-signature"> → {Handle}</span></h4> - - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_handle.js.html">dom/handle.js</a>, <a href="dom_handle.js.html#line113">line 113</a> - </li></ul></dd> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</dl> - - - - - - - - - - - - - - - - <h5>Parameters:</h5> - - -<table class="params"> - <thead> - <tr> - - <th>Name</th> - - - <th>Type</th> - - - - - - <th class="last">Description</th> - </tr> - </thead> - - <tbody> - - - <tr> - - <td class="name"><code>node</code></td> - - - <td class="type"> - - -<span class="param-type">HTMLElement</span> -| - -<span class="param-type">Document</span> - - - - </td> - - - - - - <td class="description last"></td> - </tr> - - - </tbody> -</table> - - - - - - - - - - - - - - - - -<h5>Returns:</h5> - - - - -<dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">Handle</span> - - - </dd> -</dl> - - - - - - - - - - - <h4 class="name" id="remove"><span class="type-signature"></span>remove<span class="signature">(node)</span><span class="type-signature"> → {Handle}</span></h4> - - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_handle.js.html">dom/handle.js</a>, <a href="dom_handle.js.html#line87">line 87</a> - </li></ul></dd> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</dl> - - - - - - - - - - - - - - - - <h5>Parameters:</h5> - - -<table class="params"> - <thead> - <tr> - - <th>Name</th> - - - <th>Type</th> - - - - - - <th class="last">Description</th> - </tr> - </thead> - - <tbody> - - - <tr> - - <td class="name"><code>node</code></td> - - - <td class="type"> - - -<span class="param-type">HTMLElement</span> -| - -<span class="param-type">Document</span> - - - - </td> - - - - - - <td class="description last"></td> - </tr> - - - </tbody> -</table> - - - - - - - - - - - - - - - - -<h5>Returns:</h5> - - - - -<dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">Handle</span> - - - </dd> -</dl> - - - - - - - - - - - <h4 class="name" id="update"><span class="type-signature"></span>update<span class="signature">()</span><span class="type-signature"> → {void}</span></h4> - - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_handle.js.html">dom/handle.js</a>, <a href="dom_handle.js.html#line76">line 76</a> - </li></ul></dd> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</dl> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<h5>Returns:</h5> - - - - -<dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">void</span> - - - </dd> -</dl> - - - - - - - - - - - -</article> - -</section> - - - - - - -</div> - -<br class="clear"> - -<footer> -</footer> - -<script>prettyPrint();</script> -<script src="scripts/polyfill.js"></script> -<script src="scripts/linenumber.js"></script> - -<script src="scripts/search.js" defer></script> - - -<script src="scripts/collapse.js" defer></script> - - -</body> -</html> \ No newline at end of file diff --git a/docs/Monster_DOM.Template.html b/docs/Monster_DOM.Template.html index f852a2e7e..fa22668e0 100644 --- a/docs/Monster_DOM.Template.html +++ b/docs/Monster_DOM.Template.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.DOM.Template()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; console.log(new Monster.DOM.Template()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; +import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; console.log(new Template()) </script> </code></pre></div> diff --git a/docs/Monster_DOM.Theme.html b/docs/Monster_DOM.Theme.html index d5191f378..0f6f986db 100644 --- a/docs/Monster_DOM.Theme.html +++ b/docs/Monster_DOM.Theme.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.DOM.Theme()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; console.log(new Monster.DOM.Theme()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js'; +import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; console.log(new Theme()) </script> </code></pre></div> @@ -338,7 +338,7 @@ console.log(new Theme()) <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js'; + <pre class="prettyprint"><code>import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; const theme = getDocumentTheme(); console.log(theme.getName()); @@ -346,7 +346,7 @@ console.log(theme.getName()); <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';\n\nconst theme = getDocumentTheme();\nconsole.log(theme.getName());\n// ↦ monster", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';\n\nconst theme = getDocumentTheme();\nconsole.log(theme.getName());\n// ↦ monster", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_DOM.Updater.html b/docs/Monster_DOM.Updater.html new file mode 100644 index 000000000..fda6e6aa1 --- /dev/null +++ b/docs/Monster_DOM.Updater.html @@ -0,0 +1,1209 @@ +<!DOCTYPE html> +<html lang="en"> + + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <!-- Adding meta --> + + + <meta name="author" content="schukai GmbH" /> + + <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> + + + + <!-- Adding external script--> + + + <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> + + + + <!-- Adding external style--> + + + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> + + + + <!-- Adding scripts--> + + + <!-- Adding style--> + + + <!-- Adding overlay script--> + + <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" + integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" + crossorigin="anonymous"></script> + + + <!-- Adding overlay style--> + + + + <title> + Updater + </title> + + <!--[if lt IE 9]> + <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> + <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> + <link type="text/css" rel="stylesheet" href="styles/reset.css"> + <link type="text/css" rel="stylesheet" href="styles/heading.css"> + <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> + <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> + + <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + style="display:none"> + <defs> + <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> + <g> + <path + d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> + <path + d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> + </g> + </symbol> + <symbol id='search-icon' viewBox="0 0 512 512"> + <g> + <g> + <path + d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> + </g> + </g> + <g> + <g> + <path + d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> + </g> + </g> + </symbol> + <symbol id="down-icon" viewBox="0 0 16 16"> + <path + fill-rule="evenodd" + clip-rule="evenodd" + d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" + > + </path> + </symbol> + </defs> +</svg> + </head> + + <body> + + <nav class="navbar" id="navbar"> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + + <div class="navbar-resize" id="navbar-resize"> + <div class="resize-dots-container"> + <div class="dots"></div> + <div class="dots"></div> + <div class="dots"></div> + </div> + </div> + + + </nav> + <div class="navbar-ham" id="navbar-ham"> + <div> + <div class="first"></div> + <div class="second"></div> + <div class="third"></div> + </div> + </div> + + <div id="main" class="main-content"> + + <h1 id='page-title' class="page-title"> + Updater + </h1> + + + + + + + +<section> + + +<header> + + + <h2> + + <span class="ancestors"><a href="Monster_DOM.html">Monster/DOM</a>.</span> + + Updater + + </h2> + + + <div class="class-description"><p>The updater class connects an object with the dom. in this way, structures and contents in the DOM can be programmatically adapted via attributes.</p> +<p>For example, to include a string from an object, the attribute <code>data-monster-replace</code> can be used.</p> +<p>you can call the method via the monster namespace <code>new Monster.DOM.Updater()</code>.</p> +<pre class="prettyprint source"><code><script type="module"> +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js'; +console.log(new Monster.DOM.Updater()) +</script> +</code></pre> +<p>Alternatively, you can also integrate this function individually.</p> +<pre class="prettyprint source"><code><script type="module"> +import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js'; +console.log(new Updater()) +</script> +</code></pre></div> + + +</header> + + +<article> + <div class="container-overview"> + + + + + <h2>Constructor</h2> + + + <h4 class="name" id="Updater"> + <a href="#Updater">#</a> + <span class="type-signature"></span>new Updater<span class="signature">(element, subject)</span><span class="type-signature"></span> + </h4> + + + + + + + + + + + + + + <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> + <strong>Parameters:</strong> + + +<table class="params"> + <thead> + <tr> + + <th>Name</th> + + + <th>Type</th> + + + + + + <th class="last">Description</th> + </tr> + </thead> + + <tbody> + + + <tr> + + <td class="name"><code>element</code></td> + + + <td class="type"> + + +<span class="param-type">HTMLElement</span> + + + + </td> + + + + + + <td class="description last"></td> + </tr> + + + + <tr> + + <td class="name"><code>subject</code></td> + + + <td class="type"> + + +<span class="param-type">object</span> +| + +<span class="param-type">ProxyObserver</span> + + + + </td> + + + + + + <td class="description last"></td> + </tr> + + + </tbody> +</table> + + </div> + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + + + + + + + + + + + + + + + + <div class="details-item-container"> + <dt class="tag-copyright">Copyright:</dt> + <dd class="tag-copyright"><ul class="dummy"><li>schukai GmbH</li></ul></dd> + </div> + + + + + + + + + + + + + +</dl> + + + + + + + + + + + + + + <div class="method-member-container mt-20"> + <strong>Throws:</strong> + + <ul> + + <li> + +<dl> + <dt> + <div class="param-desc"> + <p>the value is not iterable</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">Error</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + +</li> + + <li> + +<dl> + <dt> + <div class="param-desc"> + <p>pipes are not allowed when cloning a node.</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">Error</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + +</li> + + <li> + +<dl> + <dt> + <div class="param-desc"> + <p>no template was found with the specified key.</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">Error</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + +</li> + + <li> + +<dl> + <dt> + <div class="param-desc"> + <p>the maximum depth for the recursion is reached.</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">Error</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + +</li> + + <li> + +<dl> + <dt> + <div class="param-desc"> + <p>value is not a object</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">TypeError</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + +</li> + + <li> + +<dl> + <dt> + <div class="param-desc"> + <p>value is not an instance of HTMLElement</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">TypeError</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + +</li> + + </ul> + + </div> + + + + + + <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> + <strong>Example</strong> + + <div class="rel"> + <pre class="prettyprint"><code>// First we prepare the html document. +// This is done here via script, but can also be inserted into the document as pure html. +// To do this, simply insert the tag <h1 data-monster-replace="path:headline"></h1>. +const body = document.querySelector('body'); +const headline = document.createElement('h1'); +headline.setAttribute('data-monster-replace','path:headline') +body.appendChild(headline); + +// the data structure +let obj = { + headline: "Hello World", +}; + +// Now comes the real magic. we pass the updater the parent HTMLElement +// and the desired data structure. +new Updater(body, obj).run(); + +// Now you can change the data structure and the HTML will follow these changes. +obj['headline'] = "Hello World!" </code></pre> + + + <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> + <input type="hidden" name="data" value='{"title": "Example", "js": "// First we prepare the html document.\n// This is done here via script, but can also be inserted into the document as pure html. \n// To do this, simply insert the tag <h1 data-monster-replace=\"path:headline\"></h1>.\nconst body = document.querySelector('body');\nconst headline = document.createElement('h1');\nheadline.setAttribute('data-monster-replace','path:headline')\nbody.appendChild(headline);\n\n// the data structure\nlet obj = {\n headline: \"Hello World\",\n};\n\n// Now comes the real magic. we pass the updater the parent HTMLElement\n// and the desired data structure.\nnew Updater(body, obj).run();\n\n// Now you can change the data structure and the HTML will follow these changes.\nobj['headline'] = \"Hello World!\" ", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> + </form> + + </div> + + </div> + + + + </div> + + + + + + + + + + + + + <h3 class="subsection-title">Members</h3> + + + +<h4 class="name" id="element"> + <a href="#element">#</a> + <span class="type-signature"></span>element<span class="type-signature"> :HTMLElement</span> +</h4> + + + + + + + <div class="member-item-container flex"> + <strong>Type: </strong> + <ul> + <li> + +<span class="param-type">HTMLElement</span> + + + </li> + </ul> + </div> + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + +<h4 class="name" id="subject"> + <a href="#subject">#</a> + <span class="type-signature"></span>subject<span class="type-signature"> :object</span> +</h4> + + + + + + + <div class="member-item-container flex"> + <strong>Type: </strong> + <ul> + <li> + +<span class="param-type">object</span> + + + </li> + </ul> + </div> + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + + + + <h3 class="subsection-title">Methods</h3> + + + + + + + <h4 class="name" id="getSubject"> + <a href="#getSubject">#</a> + <span class="type-signature"></span>getSubject<span class="signature">()</span><span class="type-signature"> → {ProxyObserver}</span> + </h4> + + + + + + + + + + + + + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + + + + + + + <div class="method-member-container mt-20"> + <strong>Returns:</strong> + + + + +<dl class="param-type"> + <dt> + Type + </dt> + <dd> + +<span class="param-type">ProxyObserver</span> + + + </dd> +</dl> + + + </div> + + + + + + + + + + <h4 class="name" id="run"> + <a href="#run">#</a> + <span class="type-signature"></span>run<span class="signature">()</span><span class="type-signature"> → {Promise}</span> + </h4> + + + + + + + + + + + + + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + + + + + + + <div class="method-member-container mt-20"> + <strong>Returns:</strong> + + + + +<dl class="param-type"> + <dt> + Type + </dt> + <dd> + +<span class="param-type">Promise</span> + + + </dd> +</dl> + + + </div> + + + + + + + + + + <h4 class="name" id="setCallback"> + <a href="#setCallback">#</a> + <span class="type-signature"></span>setCallback<span class="signature">(name, callback)</span><span class="type-signature"> → {Transformer}</span> + </h4> + + + + + + + + + + + + + + <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> + <strong>Parameters:</strong> + + +<table class="params"> + <thead> + <tr> + + <th>Name</th> + + + <th>Type</th> + + + + + + <th class="last">Description</th> + </tr> + </thead> + + <tbody> + + + <tr> + + <td class="name"><code>name</code></td> + + + <td class="type"> + + +<span class="param-type">string</span> + + + + </td> + + + + + + <td class="description last"></td> + </tr> + + + + <tr> + + <td class="name"><code>callback</code></td> + + + <td class="type"> + + +<span class="param-type">function</span> + + + + </td> + + + + + + <td class="description last"></td> + </tr> + + + </tbody> +</table> + + </div> + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + + + + + <div class="method-member-container mt-20"> + <strong>Throws:</strong> + + <ul> + + <li> + +<dl> + <dt> + <div class="param-desc"> + <p>value is not a string</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">TypeError</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + +</li> + + <li> + +<dl> + <dt> + <div class="param-desc"> + <p>value is not a function</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">TypeError</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + +</li> + + </ul> + + </div> + + + + <div class="method-member-container mt-20"> + <strong>Returns:</strong> + + + + +<dl class="param-type"> + <dt> + Type + </dt> + <dd> + +<span class="param-type">Transformer</span> + + + </dd> +</dl> + + + </div> + + + + + + + + + + +</article> + +</section> + + + + + </div> + + <footer class="footer" id="footer"> + <a href='https://about.schukai.com/de/impressum/'>Imprint</a> + </footer> + + <script src="scripts/third-party/prettify.js"></script> + <script src="scripts/third-party/lang-css.js"></script> + <script type="text/javascript" src="scripts/misc.js"></script> + + <script>prettyPrint();</script> + <script src="scripts/linenumber.js"></script> + <script src="scripts/fix-code-block.js"></script> + <script src="scripts/fix-navbar.js"></script> + + + + + + <script src="scripts/resize.js"></script> + <script type="text/javascript"> + var option = {"min":"300","max":"600"} + setupResizeOptions(option) + </script> + + + + + + <script type="text/javascript"> + var option = JSON.parse('{"options":{}}') + console.log(option) + document.addEventListener("DOMContentLoaded", function () { + OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); + }); + </script> + + + + </body> + +</html> \ No newline at end of file diff --git a/docs/Monster_DOM.html b/docs/Monster_DOM.html index d346cc61a..b821aea6d 100644 --- a/docs/Monster_DOM.html +++ b/docs/Monster_DOM.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -228,15 +228,706 @@ <dt><a href="Monster_DOM.Theme.html">Theme</a></dt> <dd></dd> + + <dt><a href="Monster_DOM.Updater.html">Updater</a></dt> + <dd></dd> </dl> - + + + + + + <h3 class="subsection-title">Members</h3> + + + +<h4 class="name" id=".ATTRIBUTE_OPTIONS"> + <a href="#.ATTRIBUTE_OPTIONS">#</a> + <span class="type-signature">(static, constant) </span>ATTRIBUTE_OPTIONS<span class="type-signature"> :string</span> +</h4> + + + + + + + <div class="member-item-container flex"> + <strong>Type: </strong> + <ul> + <li> + +<span class="param-type">string</span> + + + </li> + </ul> + </div> + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + +<h4 class="name" id=".ATTRIBUTE_PREFIX"> + <a href="#.ATTRIBUTE_PREFIX">#</a> + <span class="type-signature">(static, constant) </span>ATTRIBUTE_PREFIX<span class="type-signature"> :string</span> +</h4> + + + + + + + <div class="member-item-container flex"> + <strong>Type: </strong> + <ul> + <li> + +<span class="param-type">string</span> + + + </li> + </ul> + </div> + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + +<h4 class="name" id=".ATTRIBUTE_THEME_NAME"> + <a href="#.ATTRIBUTE_THEME_NAME">#</a> + <span class="type-signature">(static, constant) </span>ATTRIBUTE_THEME_NAME<span class="type-signature"> :string</span> +</h4> + + + + + + + <div class="member-item-container flex"> + <strong>Type: </strong> + <ul> + <li> + +<span class="param-type">string</span> + + + </li> + </ul> + </div> + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + +<h4 class="name" id=".ATTRIBUTE_THEME_PREFIX"> + <a href="#.ATTRIBUTE_THEME_PREFIX">#</a> + <span class="type-signature">(static, constant) </span>ATTRIBUTE_THEME_PREFIX<span class="type-signature"> :string</span> +</h4> + + + + + + + <div class="member-item-container flex"> + <strong>Type: </strong> + <ul> + <li> + +<span class="param-type">string</span> + + + </li> + </ul> + </div> + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + +<h4 class="name" id=".ATTRIBUTE_UPDATER_ATTRIBUTES"> + <a href="#.ATTRIBUTE_UPDATER_ATTRIBUTES">#</a> + <span class="type-signature">(static, constant) </span>ATTRIBUTE_UPDATER_ATTRIBUTES<span class="type-signature"> :string</span> +</h4> + + + + + + + <div class="member-item-container flex"> + <strong>Type: </strong> + <ul> + <li> + +<span class="param-type">string</span> + + + </li> + </ul> + </div> + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + +<h4 class="name" id=".ATTRIBUTE_UPDATER_INSERT"> + <a href="#.ATTRIBUTE_UPDATER_INSERT">#</a> + <span class="type-signature">(static, constant) </span>ATTRIBUTE_UPDATER_INSERT<span class="type-signature"> :string</span> +</h4> + + + + + + + <div class="member-item-container flex"> + <strong>Type: </strong> + <ul> + <li> + +<span class="param-type">string</span> + + + </li> + </ul> + </div> + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + +<h4 class="name" id=".ATTRIBUTE_UPDATER_INSERT_REFERENCE"> + <a href="#.ATTRIBUTE_UPDATER_INSERT_REFERENCE">#</a> + <span class="type-signature">(static, constant) </span>ATTRIBUTE_UPDATER_INSERT_REFERENCE<span class="type-signature"> :string</span> +</h4> + + + + + + + <div class="member-item-container flex"> + <strong>Type: </strong> + <ul> + <li> + +<span class="param-type">string</span> + + + </li> + </ul> + </div> + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + - <h3 class="subsection-title">Members</h3> + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + +<h4 class="name" id=".ATTRIBUTE_UPDATER_REMOVE"> + <a href="#.ATTRIBUTE_UPDATER_REMOVE">#</a> + <span class="type-signature">(static, constant) </span>ATTRIBUTE_UPDATER_REMOVE<span class="type-signature"> :string</span> +</h4> + + + + + + + <div class="member-item-container flex"> + <strong>Type: </strong> + <ul> + <li> + +<span class="param-type">string</span> + + + </li> + </ul> + </div> + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + +<h4 class="name" id=".ATTRIBUTE_UPDATER_REPLACE"> + <a href="#.ATTRIBUTE_UPDATER_REPLACE">#</a> + <span class="type-signature">(static, constant) </span>ATTRIBUTE_UPDATER_REPLACE<span class="type-signature"> :string</span> +</h4> + + + + + + + <div class="member-item-container flex"> + <strong>Type: </strong> + <ul> + <li> + +<span class="param-type">string</span> + + + </li> + </ul> + </div> + + + + + + + +<dl class="details"> + + + + + <div class="details-item-container"> + <dt class="tag-since">Since:</dt> + <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd> + </div> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + @@ -293,6 +984,82 @@ + + + + + + + + + + + + +</dl> + + + + + + + + + + +<h4 class="name" id=".DEFAULT_THEME"> + <a href="#.DEFAULT_THEME">#</a> + <span class="type-signature">(static, constant) </span>DEFAULT_THEME<span class="type-signature"> :string</span> +</h4> + + + + +<div class="description"> + <p>default theme</p> +</div> + + + + <div class="member-item-container flex"> + <strong>Type: </strong> + <ul> + <li> + +<span class="param-type">string</span> + + + </li> + </ul> + </div> + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + @@ -337,13 +1104,13 @@ <div class="description"> <p>you can call the method via the monster namespace <code>Monster.DOM.findDocumentTemplate()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; console.log(Monster.DOM.findDocumentTemplate()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; +import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; console.log(findDocumentTemplate()) </script> </code></pre> @@ -577,13 +1344,13 @@ console.log(findDocumentTemplate()) <div class="description"> <p>this method fetches the document object</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; console.log(Monster.DOM.getDocument()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; +import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; console.log(getDocument()) </script> </code></pre> @@ -759,13 +1526,13 @@ if (typeof window !== "object") { <div class="description"> <p>this method fetches the document object</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; console.log(Monster.DOM.getDocumentFragmentFromString()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; +import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; console.log(getDocumentFragmentFromString('<div></div>')) </script> </code></pre> @@ -975,13 +1742,13 @@ if (typeof window !== "object") { handle is found, or undefined is returned.</p> <p>you can call the method via the monster namespace <code>Monster.DOM.getHandleFromNode()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; console.log(Monster.DOM.getHandleFromNode()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; +import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; console.log(getHandleFromNode()) </script> </code></pre> @@ -1187,13 +1954,13 @@ console.log(getHandleFromNode()) <div class="description"> <p>this method fetches the window object</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; console.log(Monster.DOM.getWindow()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; +import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; console.log(getWindow(null)) </script> </code></pre> @@ -1369,7 +2136,7 @@ if (typeof window !== "object") { <div class="description"> - <p>this method registers a new element. the string returned by <code>CustomElement.getTag()</code> is used as the tag.</p> + <p>This method registers a new element. The string returned by <code>CustomElement.getTag()</code> is used as the tag.</p> </div> diff --git a/docs/Monster_Data.Pathfinder.html b/docs/Monster_Data.Pathfinder.html index 39e21d0a6..3fb27f329 100644 --- a/docs/Monster_Data.Pathfinder.html +++ b/docs/Monster_Data.Pathfinder.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Data.Pathfinder()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; console.log(new Monster.Data.Pathfinder()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; +import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; console.log(new Pathfinder()) </script> </code></pre> @@ -343,7 +343,7 @@ new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}} <strong>Examples</strong> <div class="rel"> - <pre class="prettyprint"><code>import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; + <pre class="prettyprint"><code>import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; let value = new Pathfinder({ a: { @@ -369,14 +369,14 @@ try { <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';\n\nlet value = new Pathfinder({\na: {\n b: {\n f: [\n {\n g: false,\n }\n ],\n }\n}\n}).getVia(\"a.b.f.0.g\");\n\n console.log(value);\n // ↦ false\n\ntry {\n new Pathfinder({}).getVia(\"a.b.f.0.g\"); \n} catch(e) {\n console.log(e.toString());\n // ↦ Error: the journey is not at its end (b.f.0.g)\n}", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n\nlet value = new Pathfinder({\na: {\n b: {\n f: [\n {\n g: false,\n }\n ],\n }\n}\n}).getVia(\"a.b.f.0.g\");\n\n console.log(value);\n // ↦ false\n\ntry {\n new Pathfinder({}).getVia(\"a.b.f.0.g\"); \n} catch(e) {\n console.log(e.toString());\n // ↦ Error: the journey is not at its end (b.f.0.g)\n}", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> </div> <div class="rel"> - <pre class="prettyprint"><code>import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; + <pre class="prettyprint"><code>import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; let p = new Pathfinder({ a: { @@ -398,7 +398,7 @@ console.log(r);</code></pre> <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';\n\nlet p = new Pathfinder({\n a: {\n x: [\n {c: 1}, {c: 2}\n ],\n y: true\n },\n b: {\n x: [\n {c: 1, d: false}, {c: 2}\n ],\n y: true\n },\n });\n\nlet r = p.getVia(\"*.x.*.c\");\nconsole.log(r);", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n\nlet p = new Pathfinder({\n a: {\n x: [\n {c: 1}, {c: 2}\n ],\n y: true\n },\n b: {\n x: [\n {c: 1, d: false}, {c: 2}\n ],\n y: true\n },\n });\n\nlet r = p.getVia(\"*.x.*.c\");\nconsole.log(r);", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Data.Pipe.html b/docs/Monster_Data.Pipe.html index 833e1efe6..76f5b30d6 100644 --- a/docs/Monster_Data.Pipe.html +++ b/docs/Monster_Data.Pipe.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -149,13 +149,13 @@ <div class="class-description"><p>The pipe class makes it possible to combine several processing steps.</p> <p>You can call the method via the monster namespace <code>new Monster.Data.Pipe()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; console.log(new Monster.Data.Pipe()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; +import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; console.log(new Pipe()) </script> </code></pre> @@ -333,7 +333,7 @@ the word is then converted to uppercase letters and a prefix Hello is added. the <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; + <pre class="prettyprint"><code>import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; let obj = { a: { @@ -350,7 +350,7 @@ console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\ ').run(obj)); <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';\n\nlet obj = {\n a: {\n b: {\n c: {\n d: \"world\"\n }\n }\n }\n}\n\nconsole.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\\\ ').run(obj));\n// ↦ Hello WORLD", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';\n\nlet obj = {\n a: {\n b: {\n c: {\n d: \"world\"\n }\n }\n }\n}\n\nconsole.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\\\ ').run(obj));\n// ↦ Hello WORLD", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> @@ -534,6 +534,244 @@ console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\ ').run(obj)); + + + + + <h4 class="name" id="setCallback"> + <a href="#setCallback">#</a> + <span class="type-signature"></span>setCallback<span class="signature">(name, callback)</span><span class="type-signature"> → {Transformer}</span> + </h4> + + + + + + + + + + + + + + <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> + <strong>Parameters:</strong> + + +<table class="params"> + <thead> + <tr> + + <th>Name</th> + + + <th>Type</th> + + + + + + <th class="last">Description</th> + </tr> + </thead> + + <tbody> + + + <tr> + + <td class="name"><code>name</code></td> + + + <td class="type"> + + +<span class="param-type">string</span> + + + + </td> + + + + + + <td class="description last"></td> + </tr> + + + + <tr> + + <td class="name"><code>callback</code></td> + + + <td class="type"> + + +<span class="param-type">function</span> + + + + </td> + + + + + + <td class="description last"></td> + </tr> + + + </tbody> +</table> + + </div> + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +</dl> + + + + + + + + + + + + + + <div class="method-member-container mt-20"> + <strong>Throws:</strong> + + <ul> + + <li> + +<dl> + <dt> + <div class="param-desc"> + <p>value is not a string</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">TypeError</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + +</li> + + <li> + +<dl> + <dt> + <div class="param-desc"> + <p>value is not a function</p> + </div> + </dt> + <dd></dd> + <dt> + <dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type">TypeError</span> + + + </dd> + </dl> + </dt> + <dd></dd> +</dl> + +</li> + + </ul> + + </div> + + + + <div class="method-member-container mt-20"> + <strong>Returns:</strong> + + + + +<dl class="param-type"> + <dt> + Type + </dt> + <dd> + +<span class="param-type">Transformer</span> + + + </dd> +</dl> + + + </div> + + + + + diff --git a/docs/Monster_Data.Transformer.html b/docs/Monster_Data.Transformer.html index fcea24220..338c5dd7c 100644 --- a/docs/Monster_Data.Transformer.html +++ b/docs/Monster_Data.Transformer.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -149,13 +149,13 @@ <div class="class-description"><p>The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.</p> <p>You can call the method via the monster namespace <code>new Monster.Data.Transformer()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; console.log(new Monster.Data.Transformer()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; +import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; console.log(new Transformer()) </script> </code></pre> @@ -265,6 +265,12 @@ console.log(new Transformer()) <td style="text-align:left">Type conversion to an integer value</td> </tr> <tr> +<td style="text-align:left">tojson</td> +<td style="text-align:left"></td> +<td style="text-align:left"></td> +<td style="text-align:left">Type conversion to an JSON string (since 1.8.0)</td> +</tr> +<tr> <td style="text-align:left">tolower</td> <td style="text-align:left"></td> <td style="text-align:left">strtolower, tolowercase</td> @@ -494,7 +500,7 @@ global['crypto'] = new Crypto.Crypto(); <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; + <pre class="prettyprint"><code>import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; const transformer = new Transformer("tolower") @@ -506,7 +512,7 @@ console.log(transformer.run("WORLD")) <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';\n\nconst transformer = new Transformer(\"tolower\")\n\nconsole.log(transformer.run(\"HELLO\"))\n// ↦ hello\n\nconsole.log(transformer.run(\"WORLD\"))\n// ↦ world", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';\n\nconst transformer = new Transformer(\"tolower\")\n\nconsole.log(transformer.run(\"HELLO\"))\n// ↦ hello\n\nconsole.log(transformer.run(\"WORLD\"))\n// ↦ world", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Data.html b/docs/Monster_Data.html index 98526614a..0a4ea18c7 100644 --- a/docs/Monster_Data.html +++ b/docs/Monster_Data.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -256,13 +256,13 @@ <p>The operator <code>add</code> means that something has been added to the second object. <code>delete</code> means that something has been deleted from the second object compared to the first object.</p> <p>You can call the method via the monster namespace <code>Monster.Data.Diff()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; console.log(Monster.Data.Diff(a, b)) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; +import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; console.log(Diff(a, b)) </script> </code></pre> @@ -442,7 +442,7 @@ console.log(Diff(a, b)) <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; + <pre class="prettyprint"><code>import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; // given are two objects x and y. @@ -484,7 +484,7 @@ console.log(Diff(x, y)); <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';\n\n// given are two objects x and y.\n\nlet x = {\n a: 1,\n b: \"Hello!\"\n}\n\n let y = {\n a: 2,\n c: true\n}\n\n// These two objects can be compared with each other.\n\nconsole.log(Diff(x, y));\n\n// the result is then the following\n\n//\n// [\n// {\n// operator: 'update',\n// path: [ 'a' ],\n// first: { value: 1, type: 'number' },\n// second: { value: 2, type: 'number' }\n// },\n// {\n// operator: 'delete',\n// path: [ 'b' ],\n// first: { value: 'Hello!', type: 'string' }\n// },\n// {\n// operator: 'add',\n// path: [ 'c' ],\n// second: { value: true, type: 'boolean' }\n// }\n// ]", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';\n\n// given are two objects x and y.\n\nlet x = {\n a: 1,\n b: \"Hello!\"\n}\n\n let y = {\n a: 2,\n c: true\n}\n\n// These two objects can be compared with each other.\n\nconsole.log(Diff(x, y));\n\n// the result is then the following\n\n//\n// [\n// {\n// operator: 'update',\n// path: [ 'a' ],\n// first: { value: 1, type: 'number' },\n// second: { value: 2, type: 'number' }\n// },\n// {\n// operator: 'delete',\n// path: [ 'b' ],\n// first: { value: 'Hello!', type: 'string' }\n// },\n// {\n// operator: 'add',\n// path: [ 'c' ],\n// second: { value: true, type: 'boolean' }\n// }\n// ]", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Logging.Handler.html b/docs/Monster_Logging.Handler.html index 437e3e452..c60ab8578 100644 --- a/docs/Monster_Logging.Handler.html +++ b/docs/Monster_Logging.Handler.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.Logging.Handler()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js'; console.log(new Monster.Logging.Handler()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js'; +import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js'; console.log(new Handler()) </script> </code></pre></div> diff --git a/docs/Monster_Logging.LogEntry.html b/docs/Monster_Logging.LogEntry.html index 16759416c..3590cf2b8 100644 --- a/docs/Monster_Logging.LogEntry.html +++ b/docs/Monster_Logging.LogEntry.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.Logging.LogEntry()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js'; console.log(new Monster.Logging.LogEntry()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js'; +import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js'; console.log(new LogEntry()) </script> </code></pre></div> diff --git a/docs/Monster_Logging.Logger.html b/docs/Monster_Logging.Logger.html index bb8070b9e..5b818daeb 100644 --- a/docs/Monster_Logging.Logger.html +++ b/docs/Monster_Logging.Logger.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.Logging.Logger()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js'; console.log(new Monster.Logging.Logger()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js'; +import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js'; console.log(new Logger()) </script> </code></pre></div> diff --git a/docs/Monster_Logging.html b/docs/Monster_Logging.html index efd5039d4..db75f6eaa 100644 --- a/docs/Monster_Logging.html +++ b/docs/Monster_Logging.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> diff --git a/docs/Monster_Logging_Handler.ConsoleHandler.html b/docs/Monster_Logging_Handler.ConsoleHandler.html index 1a1d2aed6..99c2bdcf8 100644 --- a/docs/Monster_Logging_Handler.ConsoleHandler.html +++ b/docs/Monster_Logging_Handler.ConsoleHandler.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.Logging.Handler.ConsoleHandler()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js'; console.log(new Monster.Logging.Handler.ConsoleHandler()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js'; +import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js'; console.log(new ConsoleHandler()) </script> </code></pre></div> diff --git a/docs/Monster_Logging_Handler.html b/docs/Monster_Logging_Handler.html index db1a5e37d..4dfda5f73 100644 --- a/docs/Monster_Logging_Handler.html +++ b/docs/Monster_Logging_Handler.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> diff --git a/docs/Monster_Math.html b/docs/Monster_Math.html index 3387300e3..dc2c1324d 100644 --- a/docs/Monster_Math.html +++ b/docs/Monster_Math.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -242,13 +242,13 @@ <p>this function uses crypt and returns a random number.</p> <p>you can call the method via the monster namespace <code>Monster.Math.random()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js'; console.log(Monster.Math.random(1,10)) // ↦ 5 </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js'; +import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js'; console.log(random(1,10)) // ↦ 5 </script> </code></pre> diff --git a/docs/Monster_Types.Base.html b/docs/Monster_Types.Base.html index 8413cfc10..65bf1895b 100644 --- a/docs/Monster_Types.Base.html +++ b/docs/Monster_Types.Base.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -149,14 +149,14 @@ <div class="class-description"><p>This is the base class from which all monster classes are derived.</p> <p>You can call the method via the monster namespace <code>new Monster.Types.Base()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js'; console.log(new Monster.Types.Base()) console.log(new Monster.Types.Base()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js'; +import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js'; console.log(new Base()) console.log(new Base()) </script> diff --git a/docs/Monster_Types.ID.html b/docs/Monster_Types.ID.html index 62e23ddd8..725ef5d2b 100644 --- a/docs/Monster_Types.ID.html +++ b/docs/Monster_Types.ID.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -152,13 +152,13 @@ The ids are the same for every call, for example on a web page.</p> <p>So the ids can also be used for navigation. you just have to take care that the order stays the same.</p> <p>You can call the method via the monster namespace <code>new Monster.Types.ID()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js'; console.log(new Monster.Types.ID()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; +import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js'; console.log(new ID()) </script> </code></pre> diff --git a/docs/Monster_Types.Observer.html b/docs/Monster_Types.Observer.html index 0cd502b6b..f8aba6131 100644 --- a/docs/Monster_Types.Observer.html +++ b/docs/Monster_Types.Observer.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -149,13 +149,13 @@ <div class="class-description"><p>An observer manages a callback function</p> <p>You can call the method via the monster namespace <code>new Monster.Types.Observer()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; console.log(new Monster.Types.Observer()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; +import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; console.log(new Observer()) </script> </code></pre> @@ -375,7 +375,7 @@ Observer(function(a, b, c) { <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; + <pre class="prettyprint"><code>import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; const observer = new Observer(function(a, b, c) { console.log(this, a, b, c); // ↦ "a", 2, true @@ -386,7 +386,7 @@ observer.update({value:true}).then(()=>{}); <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';\n\nconst observer = new Observer(function(a, b, c) {\n console.log(this, a, b, c); // ↦ \"a\", 2, true \n}, \"a\", 2, true);\n\nobserver.update({value:true}).then(()=>{});\n// ↦ {value: true} \"a\" 2 true", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n\nconst observer = new Observer(function(a, b, c) {\n console.log(this, a, b, c); // ↦ \"a\", 2, true \n}, \"a\", 2, true);\n\nobserver.update({value:true}).then(()=>{});\n// ↦ {value: true} \"a\" 2 true", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Types.ObserverList.html b/docs/Monster_Types.ObserverList.html index 32b338270..577535b2a 100644 --- a/docs/Monster_Types.ObserverList.html +++ b/docs/Monster_Types.ObserverList.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -149,14 +149,14 @@ <div class="class-description"><p>With the help of the ObserverList class, observer can be managed.</p> <p>You can call the method via the monster namespace <code>new Monster.Types.ObserverList()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js'; console.log(new Monster.Types.ObserverList()) console.log(new Monster.Types.ObserverList()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js'; +import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js'; console.log(ObserverList()) console.log(ObserverList()) </script> diff --git a/docs/Monster_Types.ProxyObserver.html b/docs/Monster_Types.ProxyObserver.html index a87d029af..e5d3a4741 100644 --- a/docs/Monster_Types.ProxyObserver.html +++ b/docs/Monster_Types.ProxyObserver.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -146,16 +146,16 @@ </h2> - <div class="class-description"><p>an observer manages a callback function</p> -<p>you can call the method via the monster namespace <code>new Monster.Types.ProxyObserver()</code>.</p> + <div class="class-description"><p>An observer manages a callback function</p> +<p>You can call the method via the monster namespace <code>new Monster.Types.ProxyObserver()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; console.log(new Monster.Types.ProxyObserver()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; +import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; console.log(new ProxyObserver()) </script> </code></pre> @@ -346,9 +346,9 @@ console.log(new ProxyObserver()) <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; -import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; -import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + <pre class="prettyprint"><code>import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; +import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; +import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; const o = new Observer(function () { if (isObject(this) && this instanceof ProxyObserver) { @@ -374,7 +374,7 @@ s.a.b.c = false;</code></pre> <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';\nimport {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';\nimport {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n\nconst o = new Observer(function () { \n if (isObject(this) && this instanceof ProxyObserver) {\n // do something (this ist ProxyObserver)\n const subject = this.getSubject();\n console.log(subject);\n }\n});\n\nlet realSubject = {\n a: {\n b: {\n c: true\n },\n d: 9\n }\n}\n\nconst p = new ProxyObserver(realSubject);\np.attachObserver(o);\nconst s = p.getSubject();\ns.a.b.c = false;", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';\nimport {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\nimport {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n\nconst o = new Observer(function () { \n if (isObject(this) && this instanceof ProxyObserver) {\n // do something (this ist ProxyObserver)\n const subject = this.getSubject();\n console.log(subject);\n }\n});\n\nlet realSubject = {\n a: {\n b: {\n c: true\n },\n d: 9\n }\n}\n\nconst p = new ProxyObserver(realSubject);\np.attachObserver(o);\nconst s = p.getSubject();\ns.a.b.c = false;", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> @@ -1083,7 +1083,7 @@ s.a.b.c = false;</code></pre> <h4 class="name" id="notifyObservers"> <a href="#notifyObservers">#</a> - <span class="type-signature"></span>notifyObservers<span class="signature">()</span><span class="type-signature"> → {ProxyObserver}</span> + <span class="type-signature"></span>notifyObservers<span class="signature">()</span><span class="type-signature"> → {Promise}</span> </h4> @@ -1169,7 +1169,7 @@ s.a.b.c = false;</code></pre> </dt> <dd> -<span class="param-type">ProxyObserver</span> +<span class="param-type">Promise</span> </dd> diff --git a/docs/Monster_Types.Queue.html b/docs/Monster_Types.Queue.html index 2a0df8a82..5f16efe6e 100644 --- a/docs/Monster_Types.Queue.html +++ b/docs/Monster_Types.Queue.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Types.Queue()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; console.log(new Monster.Types.Queue()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; +import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; console.log(new Queue()) </script> </code></pre></div> @@ -260,7 +260,7 @@ console.log(new Queue()) <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; + <pre class="prettyprint"><code>import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; const queue = new Queue; @@ -282,7 +282,7 @@ console.log(queue.poll()); <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';\n\nconst queue = new Queue;\n\nqueue.add(2);\nqueue.add(true);\nqueue.add(\"Hello\");\nqueue.add(4.5);\n\nconsole.log(queue.poll());\n// ↦ 2\nconsole.log(queue.poll());\n// ↦ true\nconsole.log(queue.poll());\n// ↦ \"Hello\"\nconsole.log(queue.poll());\n// ↦ 4.5\nconsole.log(queue.poll());\n// ↦ undefined", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';\n\nconst queue = new Queue;\n\nqueue.add(2);\nqueue.add(true);\nqueue.add(\"Hello\");\nqueue.add(4.5);\n\nconsole.log(queue.poll());\n// ↦ 2\nconsole.log(queue.poll());\n// ↦ true\nconsole.log(queue.poll());\n// ↦ \"Hello\"\nconsole.log(queue.poll());\n// ↦ 4.5\nconsole.log(queue.poll());\n// ↦ undefined", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Types.RandomID.html b/docs/Monster_Types.RandomID.html index d656bc723..d8482684f 100644 --- a/docs/Monster_Types.RandomID.html +++ b/docs/Monster_Types.RandomID.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Types.RandomID()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js'; console.log(new Monster.Types.RandomID()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js'; +import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js'; console.log(new RandomID()) </script> </code></pre></div> diff --git a/docs/Monster_Types.Stack.html b/docs/Monster_Types.Stack.html index 0f76ae5bd..c19c15dc2 100644 --- a/docs/Monster_Types.Stack.html +++ b/docs/Monster_Types.Stack.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Types.Queue()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js'; console.log(new Monster.Types.Stack()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js'; +import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js'; console.log(new Stack()) </script> </code></pre></div> diff --git a/docs/Monster_Types.TokenList.html b/docs/Monster_Types.TokenList.html index c3cf49dbb..6275a4f15 100644 --- a/docs/Monster_Types.TokenList.html +++ b/docs/Monster_Types.TokenList.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -150,14 +150,14 @@ <p>The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list.</p> <p>You can call the method via the monster namespace <code>new Monster.Types.TokenList()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js'; console.log(new Monster.Types.TokenList("myclass row")) console.log(new Monster.Types.TokenList("myclass row")) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js'; +import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js'; console.log(new TokenList("myclass row")) console.log(new TokenList("myclass row")) </script> diff --git a/docs/Monster_Types.UniqueQueue.html b/docs/Monster_Types.UniqueQueue.html index de360a4c5..ff0e7958a 100644 --- a/docs/Monster_Types.UniqueQueue.html +++ b/docs/Monster_Types.UniqueQueue.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Types.Queue()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js'; console.log(new Monster.Types.UniqueQueue()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js'; +import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js'; console.log(new UniqueQueue()) </script> </code></pre></div> diff --git a/docs/Monster_Types.Version.html b/docs/Monster_Types.Version.html index d385c051d..c829e712c 100644 --- a/docs/Monster_Types.Version.html +++ b/docs/Monster_Types.Version.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -149,14 +149,14 @@ <div class="class-description"><p>The version object contains a sematic version number</p> <p>You can create the object via the monster namespace <code>new Monster.Types.Version()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3 console.log(new Monster.Types.Version('1')) // ↦ 1.0.0 </script> </code></pre> <p>Alternatively, you can also integrate this class individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; +import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; console.log(new Version('1.2.3')) // ↦ 1.2.3 console.log(new Version('1')) // ↦ 1.0.0 </script> @@ -444,7 +444,7 @@ console.log(new Version('1')) // ↦ 1.0.0 <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + <pre class="prettyprint"><code>import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; new Version('1.0.0') // ↦ 1.0.0 new Version(1) // ↦ 1.0.0 @@ -453,7 +453,7 @@ new Version('1.2.3', 4, 5) // ↦ 1.4.5</code></pre> <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';\n\nnew Version('1.0.0') // ↦ 1.0.0\nnew Version(1) // ↦ 1.0.0\nnew Version(1, 0, 0) // ↦ 1.0.0\nnew Version('1.2.3', 4, 5) // ↦ 1.4.5", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n\nnew Version('1.0.0') // ↦ 1.0.0\nnew Version(1) // ↦ 1.0.0\nnew Version(1, 0, 0) // ↦ 1.0.0\nnew Version('1.2.3', 4, 5) // ↦ 1.4.5", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Types.html b/docs/Monster_Types.html index 9e5e051c6..34c22e8d8 100644 --- a/docs/Monster_Types.html +++ b/docs/Monster_Types.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -394,13 +394,13 @@ <p>Return global function or throw Error</p> <p>You can call the method via the monster namespace <code>Monster.Types.getGlobalFunction()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { } </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; +import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { } </script> </code></pre> @@ -657,13 +657,13 @@ console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { } <p>Return global object or throw Error</p> <p>You can call the method via the monster namespace <code>Monster.Types.getGlobalObject()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; console.log(Monster.Types.getGlobalObject('document')) // ↦ { } </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; +import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; console.log(getGlobalObject('document')) // ↦ { } </script> </code></pre> @@ -920,14 +920,14 @@ console.log(getGlobalObject('document')) // ↦ { } <p>checks whether the value passed is a array</p> <p>you can call the method via the monster namespace <code>Monster.Types.isArray()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(Monster.Types.isArray('2')) // ↦ false console.log(Monster.Types.isArray([])) // ↦ true </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(isArray('2')) // ↦ false console.log(isArray([])) // ↦ true </script> @@ -1100,7 +1100,7 @@ console.log(isArray([])) // ↦ true <p>Checks whether the value passed is a boolean</p> <p>You can call the method via the monster namespace <code>Monster.Types.isBoolean()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(Monster.Types.isBoolean('2')) // ↦ false console.log(Monster.Types.isBoolean([])) // ↦ false console.log(Monster.Types.isBoolean(true)) // ↦ true @@ -1108,7 +1108,7 @@ console.log(Monster.Types.isBoolean(true)) // ↦ true </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(isBoolean('2')) // ↦ false console.log(isBoolean([])) // ↦ false console.log(isBoolean(2>4)) // ↦ true @@ -1282,7 +1282,7 @@ console.log(isBoolean(2>4)) // ↦ true <p>checks whether the value passed is a function</p> <p>you can call the method via the monster namespace <code>Monster.Types.isFunction()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(Monster.Types.isFunction(()=>{})) // ↦ true console.log(Monster.Types.isFunction('2')) // ↦ false console.log(Monster.Types.isFunction([])) // ↦ false @@ -1290,7 +1290,7 @@ console.log(Monster.Types.isFunction([])) // ↦ false </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(isFunction(()=>{})) // ↦ true console.log(isFunction('2')) // ↦ false console.log(isFunction([])) // ↦ false @@ -1464,7 +1464,7 @@ console.log(isFunction([])) // ↦ false <p>checks whether the value passed is a object and instance of instance</p> <p>you can call the method via the monster namespace <code>Monster.Types.isInstance()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(Monster.Types.isInstance('2')) // ↦ false console.log(Monster.Types.isInstance([])) // ↦ false console.log(Monster.Types.isInstance({})) // ↦ true @@ -1472,7 +1472,7 @@ console.log(Monster.Types.isInstance({})) // ↦ true </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(isInstance('2')) // ↦ false console.log(isInstance([])) // ↦ false </script> @@ -1668,7 +1668,7 @@ console.log(isInstance([])) // ↦ false <p>checks whether the value passed is an integer</p> <p>you can call the method via the monster namespace <code>Monster.Types.isFunction()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(Monster.Types.isInteger(()=>{})) // ↦ true console.log(Monster.Types.isInteger('2')) // ↦ false console.log(Monster.Types.isInteger(2)) // ↦ true @@ -1676,7 +1676,7 @@ console.log(Monster.Types.isInteger(2)) // ↦ true </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(isInteger(()=>{})) // ↦ true console.log(isInteger('2')) // ↦ false console.log(isInteger(2)) // ↦ true @@ -1850,7 +1850,7 @@ console.log(isInteger(2)) // ↦ true <p>With this function you can check if a value is iterable</p> <p>You can call the method via the monster namespace <code>Monster.Types.isPrimitive()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(Monster.Types.isIterable(null)) // ↦ false console.log(Monster.Types.isIterable('hello')) // ↦ true console.log(Monster.Types.isIterable([])) // ↦ true @@ -1858,7 +1858,7 @@ console.log(Monster.Types.isIterable([])) // ↦ true </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(isIterable(null)) // ↦ false console.log(isIterable('hello')) // ↦ true console.log(isIterable([])) // ↦ true @@ -2032,7 +2032,7 @@ console.log(isIterable([])) // ↦ true <p>checks whether the value passed is a object</p> <p>you can call the method via the monster namespace <code>Monster.Types.isObject()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(Monster.Types.isObject('2')) // ↦ false console.log(Monster.Types.isObject([])) // ↦ false console.log(Monster.Types.isObject({})) // ↦ true @@ -2040,7 +2040,7 @@ console.log(Monster.Types.isObject({})) // ↦ true </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(isObject('2')) // ↦ false console.log(isObject([])) // ↦ false </script> @@ -2213,14 +2213,14 @@ console.log(isObject([])) // ↦ false <p>Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)</p> <p>You can call the method via the monster namespace <code>Monster.Types.isPrimitive()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(Monster.Types.isPrimitive('2')) // ↦ false console.log(Monster.Types.isPrimitive([])) // ↦ true </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(isPrimitive('2')) // ↦ true console.log(isPrimitive([])) // ↦ false </script> @@ -2393,14 +2393,14 @@ console.log(isPrimitive([])) // ↦ false <p>checks whether the value passed is a string</p> <p>you can call the method via the monster namespace <code>Monster.Types.isString()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(Monster.Types.isString('2')) // ↦ true console.log(Monster.Types.isString([])) // ↦ false </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; +import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; console.log(isString('2')) // ↦ true console.log(isString([])) // ↦ false </script> @@ -2573,13 +2573,13 @@ console.log(isString([])) // ↦ false <p>The built-in typeof method is known to have some historical weaknesses. This function tries to provide a better and more accurate result.</p> <p>You can call the method via the monster namespace <code>Monster.Types.typeOf()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js'; console.log(Monster.Types.typeOf()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js'; +import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js'; console.log(typeOf()) </script> </code></pre> @@ -2768,7 +2768,7 @@ console.log(typeOf()) <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js'; + <pre class="prettyprint"><code>import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js'; console.log(typeOf(undefined)); // ↦ undefined console.log(typeOf("")); // ↦ string @@ -2780,7 +2780,7 @@ console.log(typeOf(true)); // ↦ boolean</code></pre> <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js';\n\nconsole.log(typeOf(undefined)); // ↦ undefined\nconsole.log(typeOf(\"\")); // ↦ string\nconsole.log(typeOf(5)); // ↦ number\nconsole.log(typeOf({})); // ↦ object\nconsole.log(typeOf([])); // ↦ array\nconsole.log(typeOf(new Map)); // ↦ map\nconsole.log(typeOf(true)); // ↦ boolean", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js';\n\nconsole.log(typeOf(undefined)); // ↦ undefined\nconsole.log(typeOf(\"\")); // ↦ string\nconsole.log(typeOf(5)); // ↦ number\nconsole.log(typeOf({})); // ↦ object\nconsole.log(typeOf([])); // ↦ array\nconsole.log(typeOf(new Map)); // ↦ map\nconsole.log(typeOf(true)); // ↦ boolean", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> @@ -2796,7 +2796,7 @@ console.log(typeOf(true)); // ↦ boolean</code></pre> <h4 class="name" id=".validateArray"> <a href="#.validateArray">#</a> - <span class="type-signature">(static) </span>validateArray<span class="signature">(value)</span><span class="type-signature"> → {undefined}</span> + <span class="type-signature">(static) </span>validateArray<span class="signature">(value)</span><span class="type-signature"> → {*}</span> </h4> @@ -2807,14 +2807,14 @@ console.log(typeOf(true)); // ↦ boolean</code></pre> <p>This method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown.</p> <p>You can call the method via the monster namespace <code>Monster.Types.validateArray()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(Monster.Types.validateArray('2')) // ↦ TypeError console.log(Monster.Types.validateArray([])) // ↦ undefined </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(validateArray('2')) // ↦ TypeError console.log(validateArray([])) // ↦ undefined </script> @@ -2989,7 +2989,7 @@ console.log(validateArray([])) // ↦ undefined </dt> <dd> -<span class="param-type">undefined</span> +<span class="param-type">*</span> </dd> @@ -3008,7 +3008,7 @@ console.log(validateArray([])) // ↦ undefined <h4 class="name" id=".validateBoolean"> <a href="#.validateBoolean">#</a> - <span class="type-signature">(static) </span>validateBoolean<span class="signature">(value)</span><span class="type-signature"> → {undefined}</span> + <span class="type-signature">(static) </span>validateBoolean<span class="signature">(value)</span><span class="type-signature"> → {*}</span> </h4> @@ -3019,7 +3019,7 @@ console.log(validateArray([])) // ↦ undefined <p>This method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown.</p> <p>You can call the method via the monster namespace <code>Monster.Types.validateBoolean()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(Monster.Types.validateBoolean(true)) // ↦ undefined console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError console.log(Monster.Types.validateBoolean([])) // ↦ TypeError @@ -3027,7 +3027,7 @@ console.log(Monster.Types.validateBoolean([])) // ↦ TypeError </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(validateBoolean(false)) // ↦ undefined console.log(validateBoolean('2')) // ↦ TypeError console.log(validateBoolean([])) // ↦ TypeError @@ -3203,7 +3203,7 @@ console.log(validateBoolean([])) // ↦ TypeError </dt> <dd> -<span class="param-type">undefined</span> +<span class="param-type">*</span> </dd> @@ -3222,7 +3222,7 @@ console.log(validateBoolean([])) // ↦ TypeError <h4 class="name" id=".validateFunction"> <a href="#.validateFunction">#</a> - <span class="type-signature">(static) </span>validateFunction<span class="signature">(value)</span><span class="type-signature"> → {undefined}</span> + <span class="type-signature">(static) </span>validateFunction<span class="signature">(value)</span><span class="type-signature"> → {*}</span> </h4> @@ -3233,7 +3233,7 @@ console.log(validateBoolean([])) // ↦ TypeError <p>This method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown.</p> <p>You can call the method via the monster namespace <code>Monster.Types.validateFunction()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined console.log(Monster.Types.validateFunction('2')) // ↦ TypeError console.log(Monster.Types.validateFunction([])) // ↦ TypeError @@ -3241,7 +3241,7 @@ console.log(Monster.Types.validateFunction([])) // ↦ TypeError </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(validateFunction(()=>{})) // ↦ undefined console.log(validateFunction('2')) // ↦ TypeError console.log(validateFunction([])) // ↦ TypeError @@ -3417,7 +3417,7 @@ console.log(validateFunction([])) // ↦ TypeError </dt> <dd> -<span class="param-type">undefined</span> +<span class="param-type">*</span> </dd> @@ -3436,7 +3436,7 @@ console.log(validateFunction([])) // ↦ TypeError <h4 class="name" id=".validateInstance"> <a href="#.validateInstance">#</a> - <span class="type-signature">(static) </span>validateInstance<span class="signature">(value)</span><span class="type-signature"> → {undefined}</span> + <span class="type-signature">(static) </span>validateInstance<span class="signature">(value)</span><span class="type-signature"> → {*}</span> </h4> @@ -3447,7 +3447,7 @@ console.log(validateFunction([])) // ↦ TypeError <p>This method checks if the type matches the object instance.</p> <p>You can call the method via the monster namespace <code>Monster.Types.validateInstance()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError @@ -3455,7 +3455,7 @@ console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(validateInstance({}, Object)) // ↦ undefined console.log(validateInstance('2', Object)) // ↦ TypeError console.log(validateInstance([], Object)) // ↦ TypeError @@ -3631,7 +3631,7 @@ console.log(validateInstance([], Object)) // ↦ TypeError </dt> <dd> -<span class="param-type">undefined</span> +<span class="param-type">*</span> </dd> @@ -3650,7 +3650,7 @@ console.log(validateInstance([], Object)) // ↦ TypeError <h4 class="name" id=".validateInteger"> <a href="#.validateInteger">#</a> - <span class="type-signature">(static) </span>validateInteger<span class="signature">(value)</span><span class="type-signature"> → {undefined}</span> + <span class="type-signature">(static) </span>validateInteger<span class="signature">(value)</span><span class="type-signature"> → {*}</span> </h4> @@ -3661,7 +3661,7 @@ console.log(validateInstance([], Object)) // ↦ TypeError <p>This method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown.</p> <p>You can call the method via the monster namespace <code>Monster.Types.validateInteger()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(Monster.Types.validateInteger(true)) // ↦ TypeError console.log(Monster.Types.validateInteger('2')) // ↦ TypeError console.log(Monster.Types.validateInteger(2)) // ↦ undefined @@ -3669,7 +3669,7 @@ console.log(Monster.Types.validateInteger(2)) // ↦ undefined </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(validateInteger(true)) // ↦ TypeError console.log(validateInteger('2')) // ↦ TypeError console.log(validateInteger(2)) // ↦ undefined @@ -3845,7 +3845,7 @@ console.log(validateInteger(2)) // ↦ undefined </dt> <dd> -<span class="param-type">undefined</span> +<span class="param-type">*</span> </dd> @@ -3864,7 +3864,7 @@ console.log(validateInteger(2)) // ↦ undefined <h4 class="name" id=".validateIterable"> <a href="#.validateIterable">#</a> - <span class="type-signature">(static) </span>validateIterable<span class="signature">(value)</span><span class="type-signature"> → {undefined}</span> + <span class="type-signature">(static) </span>validateIterable<span class="signature">(value)</span><span class="type-signature"> → {*}</span> </h4> @@ -3875,14 +3875,14 @@ console.log(validateInteger(2)) // ↦ undefined <p>This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.</p> <p>You can call the method via the monster namespace <code>Monster.Types.validatePrimitive()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(Monster.Types.validateIterable('2')) // ↦ TypeError console.log(Monster.Types.validateIterable([])) // ↦ undefined </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(validateIterable('2')) // ↦ TypeError console.log(validateIterable([])) // ↦ undefined </script> @@ -4070,7 +4070,7 @@ console.log(validateIterable([])) // ↦ undefined </dt> <dd> -<span class="param-type">undefined</span> +<span class="param-type">*</span> </dd> @@ -4089,7 +4089,7 @@ console.log(validateIterable([])) // ↦ undefined <h4 class="name" id=".validateObject"> <a href="#.validateObject">#</a> - <span class="type-signature">(static) </span>validateObject<span class="signature">(value)</span><span class="type-signature"> → {undefined}</span> + <span class="type-signature">(static) </span>validateObject<span class="signature">(value)</span><span class="type-signature"> → {*}</span> </h4> @@ -4100,7 +4100,7 @@ console.log(validateIterable([])) // ↦ undefined <p>This method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown.</p> <p>You can call the method via the monster namespace <code>Monster.Types.validateObject()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(Monster.Types.validateObject({})) // ↦ undefined console.log(Monster.Types.validateObject('2')) // ↦ TypeError console.log(Monster.Types.validateObject([])) // ↦ TypeError @@ -4108,7 +4108,7 @@ console.log(Monster.Types.validateObject([])) // ↦ TypeError </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(validateObject({})) // ↦ undefined console.log(validateObject('2')) // ↦ TypeError console.log(validateObject([])) // ↦ TypeError @@ -4284,7 +4284,7 @@ console.log(validateObject([])) // ↦ TypeError </dt> <dd> -<span class="param-type">undefined</span> +<span class="param-type">*</span> </dd> @@ -4303,7 +4303,7 @@ console.log(validateObject([])) // ↦ TypeError <h4 class="name" id=".validatePrimitive"> <a href="#.validatePrimitive">#</a> - <span class="type-signature">(static) </span>validatePrimitive<span class="signature">(value)</span><span class="type-signature"> → {undefined}</span> + <span class="type-signature">(static) </span>validatePrimitive<span class="signature">(value)</span><span class="type-signature"> → {*}</span> </h4> @@ -4314,14 +4314,14 @@ console.log(validateObject([])) // ↦ TypeError <p>This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.</p> <p>You can call the method via the monster namespace <code>Monster.Types.validatePrimitive()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(validatePrimitive('2')) // ↦ undefined console.log(validatePrimitive([])) // ↦ TypeError </script> @@ -4509,7 +4509,7 @@ console.log(validatePrimitive([])) // ↦ TypeError </dt> <dd> -<span class="param-type">undefined</span> +<span class="param-type">*</span> </dd> @@ -4528,7 +4528,7 @@ console.log(validatePrimitive([])) // ↦ TypeError <h4 class="name" id=".validateString"> <a href="#.validateString">#</a> - <span class="type-signature">(static) </span>validateString<span class="signature">(value)</span><span class="type-signature"> → {undefined}</span> + <span class="type-signature">(static) </span>validateString<span class="signature">(value)</span><span class="type-signature"> → {*}</span> </h4> @@ -4539,14 +4539,14 @@ console.log(validatePrimitive([])) // ↦ TypeError <p>This method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown.</p> <p>You can call the method via the monster namespace <code>Monster.Types.validateString()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(Monster.Types.validateString('2')) // ↦ undefined console.log(Monster.Types.validateString([])) // ↦ TypeError </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; +import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; console.log(validateString('2')) // ↦ undefined console.log(validateString([])) // ↦ TypeError </script> @@ -4721,7 +4721,7 @@ console.log(validateString([])) // ↦ TypeError </dt> <dd> -<span class="param-type">undefined</span> +<span class="param-type">*</span> </dd> diff --git a/docs/Monster_Util.Comparator.html b/docs/Monster_Util.Comparator.html index 9ab006082..dfa14e71f 100644 --- a/docs/Monster_Util.Comparator.html +++ b/docs/Monster_Util.Comparator.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -148,13 +148,13 @@ <div class="class-description"><p>The comparator allows a comparison function to be abstracted.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; console.log(new Monster.Util.Comparator()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js'; +import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; console.log(new Comparator()) </script> </code></pre> @@ -322,7 +322,7 @@ new Comparator().equal(4, 5) // ↦ false <strong>Example</strong> <div class="rel"> - <pre class="prettyprint"><code>import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js'; + <pre class="prettyprint"><code>import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; console.log(new Comparator().lessThanOrEqual(2, 5)) // ↦ true @@ -335,7 +335,7 @@ console.log(new Comparator().equal(4, 5)) <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form"> - <input type="hidden" name="data" value='{"title": "Example", "js": "import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';\n\nconsole.log(new Comparator().lessThanOrEqual(2, 5))\n// ↦ true\nconsole.log(new Comparator().greaterThan(4, 2))\n// ↦ true\nconsole.log(new Comparator().equal(4, 4))\n// ↦ true\nconsole.log(new Comparator().equal(4, 5))\n// ↦ false", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> + <input type="hidden" name="data" value='{"title": "Example", "js": "import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';\n\nconsole.log(new Comparator().lessThanOrEqual(2, 5))\n// ↦ true\nconsole.log(new Comparator().greaterThan(4, 2))\n// ↦ true\nconsole.log(new Comparator().equal(4, 4))\n// ↦ true\nconsole.log(new Comparator().equal(4, 5))\n// ↦ false", "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' /> <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" /> </form> diff --git a/docs/Monster_Util.html b/docs/Monster_Util.html index e2eb54e8b..3d3deeccf 100644 --- a/docs/Monster_Util.html +++ b/docs/Monster_Util.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -253,13 +253,13 @@ Global objects such as windows are also not cloned,</p> <p>If an object has a method <code>getClone()</code>, this method is used to create the clone.</p> <p>You can call the method via the monster namespace <code>Monster.Util.clone()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js'; console.log(Monster.Util.clone({})) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js'; +import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js'; console.log(clone({})) </script> </code></pre> @@ -463,13 +463,13 @@ console.log(clone({})) <p>Deep freeze a object</p> <p>You can call the method via the monster namespace <code>Monster.Util.deepFreeze()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js'; console.log(Monster.Util.deepFreeze({})) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js'; +import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js'; console.log(deepFreeze({})) </script> </code></pre> diff --git a/docs/constraints_abstract.js.html b/docs/constraints_abstract.js.html deleted file mode 100644 index 1602e1fac..000000000 --- a/docs/constraints_abstract.js.html +++ /dev/null @@ -1,224 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - constraints/abstract.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - constraints/abstract.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {Base} from '../types/base.js'; - - -/** - * The abstract constraint defines the api for all constraints. mainly the method isValid() is defined. - * - * derived classes must implement the method isValid(). - * - * @since 1.3.0 - * @copyright schukai GmbH - * @memberOf Monster/Constraints - */ -class AbstractConstraint extends Base { - - /** - * - */ - constructor() { - super(); - } - - /** - * this method must return a promise containing the result of the check. - * - * @param {*} value - * @returns {Promise} - */ - isValid(value) { - return Promise.reject(value); - } -} - -Monster.assignToNamespace('Monster.Constraints', AbstractConstraint); -export {Monster, AbstractConstraint}</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/constraints_abstractoperator.js.html b/docs/constraints_abstractoperator.js.html deleted file mode 100644 index 5f6be4c3b..000000000 --- a/docs/constraints_abstractoperator.js.html +++ /dev/null @@ -1,223 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - constraints/abstractoperator.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - constraints/abstractoperator.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, AbstractConstraint} from "./abstract.js"; - -/** - * Operators allow you to link constraints together. for example, you can check whether a value is an object or an array. each operator has two operands that are linked together. - * - * @since 1.3.0 - * @copyright schukai GmbH - * @memberOf Monster/Constraints - */ -class AbstractOperator extends AbstractConstraint { - - /** - * - * @param {AbstractConstraint} operantA - * @param {AbstractConstraint} operantB - * @throws {TypeError} "parameters must be from type AbstractConstraint" - */ - constructor(operantA, operantB) { - super(); - - if (!(operantA instanceof AbstractConstraint) || !(operantB instanceof AbstractConstraint)) { - throw new TypeError("parameters must be from type AbstractConstraint") - } - - this.operantA = operantA; - this.operantB = operantB; - - } - - -} - -Monster.assignToNamespace('Monster.Constraints', AbstractOperator); -export {Monster, AbstractOperator}</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/constraints_andoperator.js.html b/docs/constraints_andoperator.js.html deleted file mode 100644 index 20d05fb7f..000000000 --- a/docs/constraints_andoperator.js.html +++ /dev/null @@ -1,250 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - constraints/andoperator.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - constraints/andoperator.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, AbstractConstraint} from "./abstract.js"; -import {AbstractOperator} from "./abstractoperator.js"; - -/** - * The AndOperator is used to link several contraints. The constraint is fulfilled if all constraints of the operators are fulfilled. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; - * new Monster.Constraint.AndOperator(); - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; - * new AndOperator(); - * </script> - * ``` - * - * @example - * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; - * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; - * - * new AndOperator( - * new Valid(), new Valid()).isValid() - * .then(()=>console.log(true)) - * .catch(()=>console.log(false)); - * // ↦ true - * - * new AndOperator( - * new Invalid(), new Valid()).isValid() - * .then(()=>console.log(true)) - * .catch(()=>console.log(false)); - * // ↦ false - * - * @since 1.3.0 - * @copyright schukai GmbH - * @memberOf Monster/Constraints - */ -class AndOperator extends AbstractOperator { - - /** - * this method return a promise containing the result of the check. - * - * @param {*} value - * @returns {Promise} - */ - isValid(value) { - return Promise.all([this.operantA.isValid(value), this.operantB.isValid(value)]); - } - -} - -Monster.assignToNamespace('Monster.Constraints', AndOperator); -export {Monster, AndOperator} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/constraints_invalid.js.html b/docs/constraints_invalid.js.html deleted file mode 100644 index e213571d1..000000000 --- a/docs/constraints_invalid.js.html +++ /dev/null @@ -1,242 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - constraints/invalid.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - constraints/invalid.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, AbstractConstraint} from "./abstract.js"; - -/** - * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing. - * - * You can call the method via the monster namespace `new Monster.Constraint.Invalid()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; - * new Monster.Constraint.Invalid(); - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; - * new Invalid(); - * </script> - * ``` - * - * @example - * - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; - * - * new Invalid().isValid() - * .then(()=>console.log(true)) - * .catch(()=>console.log(false)); - * // ↦ false - * - * @since 1.3.0 - * @copyright schukai GmbH - * @memberOf Monster/Constraints - */ -class Invalid extends AbstractConstraint { - - /** - * this method return a rejected promise - * - * @param {*} value - * @returns {Promise} - */ - isValid(value) { - return Promise.reject(value); - } - -} - -Monster.assignToNamespace('Monster.Constraints', Invalid); -export {Monster, Invalid} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/constraints_isarray.js.html b/docs/constraints_isarray.js.html deleted file mode 100644 index d9d1b25c1..000000000 --- a/docs/constraints_isarray.js.html +++ /dev/null @@ -1,250 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - constraints/isarray.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - constraints/isarray.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, AbstractConstraint} from "./abstract.js"; -import {isArray} from "../types/is.js"; - -/** - * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; - * console.log(new Monster.Constraint.IsArray()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; - * console.log(new IsArray()) - * </script> - * ``` - * - * @example - * - * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; - * - * new IsArray() - * .isValid([]) - * .then(()=>console.log(true)); - * // ↦ true - * - * new IsArray() - * .isValid(99) - * .catch(e=>console.log(e)); - * // ↦ 99 - * - * @since 1.3.0 - * @copyright schukai GmbH - * @memberOf Monster/Constraints - */ -class IsArray extends AbstractConstraint { - - /** - * this method return a promise containing the result of the check. - * - * @param {*} value - * @returns {Promise} - */ - isValid(value) { - if (isArray(value)) { - return Promise.resolve(value); - } - - return Promise.reject(value); - } - -} - -Monster.assignToNamespace('Monster.Constraints', IsArray); -export {Monster, IsArray} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/constraints_isobject.js.html b/docs/constraints_isobject.js.html deleted file mode 100644 index e2e815671..000000000 --- a/docs/constraints_isobject.js.html +++ /dev/null @@ -1,251 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - constraints/isobject.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - constraints/isobject.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, AbstractConstraint} from "./abstract.js"; -import {isObject} from "../types/is.js"; - -/** - * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; - * console.log(new Monster.Constraint.IsObject()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; - * console.log(new IsObject()) - * </script> - * ``` - * - * @example - * - * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; - * - * new IsObject() - * .isValid({}) - * .then(()=>console.log(true)); - * // ↦ true - * - * - * new IsObject() - * .isValid(99) - * .catch(e=>console.log(e)); - * // ↦ 99 - * - * @since 1.3.0 - * @copyright schukai GmbH - * @memberOf Monster/Constraints - */ -class IsObject extends AbstractConstraint { - - /** - * this method return a promise containing the result of the check. - * - * @param {*} value - * @returns {Promise} - */ - isValid(value) { - if (isObject(value)) { - return Promise.resolve(value); - } - - return Promise.reject(value); - } - -} - -Monster.assignToNamespace('Monster.Constraints', IsObject); -export {Monster, IsObject} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/constraints_namespace.js.html b/docs/constraints_namespace.js.html deleted file mode 100644 index a8863a908..000000000 --- a/docs/constraints_namespace.js.html +++ /dev/null @@ -1,195 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - constraints/namespace.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - constraints/namespace.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @namespace Monster/Constraints - * @author schukai GmbH - */ - -/** - * @private - * @type {string} - */ -const namespace="Monster.Constraints";</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/constraints_oroperator.js.html b/docs/constraints_oroperator.js.html deleted file mode 100644 index c0d6ec964..000000000 --- a/docs/constraints_oroperator.js.html +++ /dev/null @@ -1,276 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - constraints/oroperator.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - constraints/oroperator.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, AbstractOperator} from "./abstractoperator.js"; - -/** - * The OrOperator is used to link several constraints. The constraint is fulfilled if one of the constraints is fulfilled. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js'; - * new Monster.Constraint.OrOperator(); - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js'; - * new OrOperator(); - * </script> - * ``` - * - * @example - * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; - * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/oroperator.js'; - * - * new OrOperator( - * new Valid(), new Invalid()).isValid() - * .then(()=>console.log(true)) - * .catch(()=>console.log(false)); - * // ↦ true - * - * new OrOperator( - * new Invalid(), new Invalid()).isValid() - * .then(()=>console.log(true)) - * .catch(()=>console.log(false)); - * // ↦ false - * - * @since 1.3.0 - * @copyright schukai GmbH - * @memberOf Monster/Constraints - */ -class OrOperator extends AbstractOperator { - - /** - * this method return a promise containing the result of the check. - * - * @param {*} value - * @returns {Promise} - */ - isValid(value) { - var self = this; - - return new Promise(function (resolve, reject) { - let a, b; - - self.operantA.isValid(value) - .then(function () { - resolve(); - }).catch(function () { - a = false; - /** b has already been evaluated and was not true */ - if (b === false) { - reject(); - } - }); - - self.operantB.isValid(value) - .then(function () { - resolve(); - }).catch(function () { - b = false; - /** b has already been evaluated and was not true */ - if (a === false) { - reject(); - } - }); - }); - } - - -} - -Monster.assignToNamespace('Monster.Constraints', OrOperator); -export {Monster, OrOperator} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/constraints_valid.js.html b/docs/constraints_valid.js.html deleted file mode 100644 index d369a6866..000000000 --- a/docs/constraints_valid.js.html +++ /dev/null @@ -1,242 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - constraints/valid.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - constraints/valid.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, AbstractConstraint} from "./abstract.js"; - -/** - * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing. - * - * You can call the method via the monster namespace `new Monster.Constraint.Valid()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; - * new Monster.Constraint.Valid(); - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; - * new Valid(); - * </script> - * ``` - * - * @example - * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; - * - * new Valid().isValid() - * .then(()=>console.log(true)) - * .catch(()=>console.log(false)); - * // ↦ true - * - * @since 1.3.0 - * @copyright schukai GmbH - * @memberOf Monster/Constraints - */ -class Valid extends AbstractConstraint { - - /** - * this method return a promise containing the result of the check. - * - * @param {*} value - * @returns {Promise} - */ - isValid(value) { - return Promise.resolve(value); - } - -} - -Monster.assignToNamespace('Monster.Constraints', Valid); -export {Monster, Valid} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/data_diff.js.html b/docs/data_diff.js.html deleted file mode 100644 index 83ff5adcd..000000000 --- a/docs/data_diff.js.html +++ /dev/null @@ -1,432 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - data/diff.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - data/diff.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - - -import {Monster, isArray, isObject} from "../types/is.js"; - -/** - * With the diff function you can perform the change of one object to another. The result shows the changes of the second object to the first object. - * - * The operator `add` means that something has been added to the second object. `delete` means that something has been deleted from the second object compared to the first object. - * - * You can call the method via the monster namespace `Monster.Data.Diff()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; - * console.log(Monster.Data.Diff(a, b)) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; - * console.log(Diff(a, b)) - * </script> - * ``` - * - * @example - * - * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; - * - * // given are two objects x and y. - * - * let x = { - * a: 1, - * b: "Hello!" - * } - * - * let y = { - * a: 2, - * c: true - * } - * - * // These two objects can be compared with each other. - * - * console.log(Diff(x, y)); - * - * // the result is then the following - * - * // - * // [ - * // { - * // operator: 'update', - * // path: [ 'a' ], - * // first: { value: 1, type: 'number' }, - * // second: { value: 2, type: 'number' } - * // }, - * // { - * // operator: 'delete', - * // path: [ 'b' ], - * // first: { value: 'Hello!', type: 'string' } - * // }, - * // { - * // operator: 'add', - * // path: [ 'c' ], - * // second: { value: true, type: 'boolean' } - * // } - * // ] - * - * @param {*} first - * @param {*} second - * @return {array} - * @since 1.6.0 - * @copyright schukai GmbH - * @memberOf Monster/Data - */ -function Diff(first, second) { - return doDiff(first, second) -} - -/** - * @private - * @param a - * @param b - * @param type - * @return {Set<string>|Set<number>} - */ -function getKeys(a, b, type) { - if (isArray(type)) { - const keys = a.length > b.length ? new Array(a.length) : new Array(b.length); - keys.fill(0); - return new Set(keys.map((_, i) => i)); - } - - return new Set(Object.keys(a).concat(Object.keys(b))); -} - -/** - * @private - * @param a - * @param b - * @param path - * @param diff - * @return {array} - */ -function doDiff(a, b, path, diff) { - - let typeA = typeof a - let typeB = typeof b - - const currPath = path || []; - const currDiff = diff || []; - - if (typeA === typeB && typeA === 'object') { // array is object too - - getKeys(a, b, typeA).forEach((v) => { - - if (!(Object.prototype.hasOwnProperty.call(a, v))) { - currDiff.push(buildResult(a[v], b[v], 'add', currPath.concat(v))); - } else if (!(Object.prototype.hasOwnProperty.call(b, v))) { - currDiff.push(buildResult(a[v], b[v], 'delete', currPath.concat(v))); - } else { - doDiff(a[v], b[v], currPath.concat(v), currDiff); - } - }); - - } else { - - const o = getOperator(a, b, typeA, typeB); - if (o !== undefined) { - currDiff.push(buildResult(a, b, o, path)); - } - - } - - return currDiff; - -} - -/** - * - * @param {*} a - * @param {*} b - * @param {string} operator - * @param {array} path - * @return {{path: array, operator: string}} - * @private - */ -function buildResult(a, b, operator, path) { - - const result = { - operator, - path, - }; - - if (operator !== 'add') { - result.first = { - value: a, - type: typeof a - }; - - if (isObject(a)) { - const name = Object.getPrototypeOf(a)?.constructor?.name; - if (name !== undefined) { - result.first.instance = name; - } - } - } - - if (operator === 'add' || operator === 'update') { - result.second = { - value: b, - type: typeof b - }; - - if (isObject(b)) { - const name = Object.getPrototypeOf(b)?.constructor?.name; - if (name !== undefined) { - result.second.instance = name; - } - } - - } - - return result; -} - -/** - * @private - * @param {*} a - * @param {*} b - * @return {boolean} - */ -function isNotEqual(a, b) { - - if (typeof a !== typeof b) { - return true; - } - - if (a instanceof Date && b instanceof Date) { - return a.getTime() !== b.getTime(); - } - - return a !== b; -} - -/** - * @private - * @param {*} a - * @param {*} b - * @return {string|undefined} - */ -function getOperator(a, b) { - - /** - * @type {string|undefined} - */ - let operator; - - /** - * @type {string} - */ - let typeA = typeof a; - - /** - * @type {string} - */ - let typeB = typeof b; - - if (typeA === 'undefined' && typeB !== 'undefined') { - operator = 'add'; - } else if (typeA !== 'undefined' && typeB === 'undefined') { - operator = 'delete'; - } else if (isNotEqual(a, b)) { - operator = 'update'; - } - - return operator; - -} - -Monster.assignToNamespace('Monster.Data', Diff); -export {Monster, Diff} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/data_namespace.js.html b/docs/data_namespace.js.html deleted file mode 100644 index 09d87255f..000000000 --- a/docs/data_namespace.js.html +++ /dev/null @@ -1,196 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - data/namespace.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - data/namespace.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @namespace Monster/Data - * @author schukai GmbH - */ - - -/** - * @private - * @type {string} - */ -const namespace="Monster.Data";</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/data_pathfinder.js.html b/docs/data_pathfinder.js.html deleted file mode 100644 index 2f5b6cb98..000000000 --- a/docs/data_pathfinder.js.html +++ /dev/null @@ -1,553 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - data/pathfinder.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - data/pathfinder.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {isObject, isArray, isInteger} from '../types/is.js'; -import {validateString, validateInteger} from '../types/validate.js'; -import {Base} from '../types/base.js'; -import {Stack} from "../types/stack.js"; - -/** - * path separator - * - * @private - * @type {string} - */ -const DELIMITER = '.'; - -/** - * You can call the method via the monster namespace `new Monster.Data.Pathfinder()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; - * console.log(new Monster.Data.Pathfinder()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; - * console.log(new Pathfinder()) - * </script> - * ``` - * - * With the help of the pathfinder, values can be read and written from an object construct. - * - * ``` - * new Pathfinder({ - * a: { - * b: { - * f: [ - * { - * g: false, - * } - * ], - * } - * } - * }).getVia("a.b.f.0.g"); // ↦ false - * ``` - * - * if a value is not present or has the wrong type, a corresponding exception is thrown. - * - * ``` - * new Pathfinder({}).getVia("a.b.f.0.g"); // ↦ Error - * ``` - * - * The `Pathfinder.exists()` method can be used to check whether access to the path is possible. - * - * ``` - * new Pathfinder({}).exists("a.b.f.0.g"); // ↦ false - * ``` - * - * pathfinder can also be used to build object structures. to do this, the `Pathfinder.setVia()` method must be used. - * - * ``` - * obj = {}; - * new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}} - * ``` - * - * @example - * - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/data/pathfinder.js'; - * - * let value = new Pathfinder({ - * a: { - * b: { - * f: [ - * { - * g: false, - * } - * ], - * } - * } - * }).getVia("a.b.f.0.g"); - * - * console.log(value); - * // ↦ false - * - * try { - * new Pathfinder({}).getVia("a.b.f.0.g"); - * } catch(e) { - * console.log(e.toString()); - * // ↦ Error: the journey is not at its end (b.f.0.g) - * } - * - * - * - * @since 1.4.0 - * @copyright schukai GmbH - * @memberOf Monster/Data - */ -class Pathfinder extends Base { - - /** - * @param {array|object|Map|Set} value - * @since 1.4.0 - **/ - constructor(object) { - super(); - this.object = object; - } - - /** - * - * @param {string} path - * @since 1.4.0 - * @returns {*} - * @throws {TypeError} unsupported type - * @throws {Error} the journey is not at its end - * @throws {TypeError} value is not a string - * @throws {TypeError} value is not an integer - * @throws {Error} unsupported action for this data type - */ - getVia(path) { - validateString(path); - return getValueViaPath(this.object, path); - } - - /** - * - * @param {string} path - * @param {*} value - * @returns {Pathfinder} - * @since 1.4.0 - * @throws {TypeError} unsupported type - * @throws {TypeError} value is not a string - * @throws {TypeError} value is not an integer - * @throws {Error} unsupported action for this data type - */ - setVia(path, value) { - validateString(path); - setValueViaPath(this.object, path, value); - return this; - } - - /** - * Delete Via Path - * - * @param {string} path - * @returns {Pathfinder} - * @since 1.6.0 - * @throws {TypeError} unsupported type - * @throws {TypeError} value is not a string - * @throws {TypeError} value is not an integer - * @throws {Error} unsupported action for this data type - */ - deleteVia(path) { - validateString(path); - deleteValueViaPath(this.object, path); - return this; - } - - /** - * - * @param {string} path - * @return {bool} - * @throws {TypeError} unsupported type - * @throws {TypeError} value is not a string - * @throws {TypeError} value is not an integer - * @since 1.4.0 - */ - exists(path) { - validateString(path); - try { - getValueViaPath(this.object, path, true); - return true; - } catch (e) { - - } - - return false; - } - -} - -Monster.assignToNamespace('Monster.Data', Pathfinder); -export {Monster, Pathfinder} - -/** - * - * @param {*} object - * @param [string} path - * @param [boolean} check - * @returns {*} - * @throws {TypeError} unsupported type - * @throws {Error} the journey is not at its end - * @throws {Error} unsupported action for this data type - * @private - */ -function getValueViaPath(object, path, check) { - - if (path === "") { - return object; - } - - let parts = path.split(DELIMITER) - let current = parts.shift(); - - if (isObject(object) || isArray(object)) { - - let anchor; - if (object instanceof Map || object instanceof WeakMap) { - anchor = object.get(current); - - } else if (object instanceof Set || object instanceof WeakSet) { - current = parseInt(current); - validateInteger(current) - anchor = [...object]?.[current]; - - } else if (object instanceof WeakRef) { - throw Error('unsupported action for this data type'); - - } else if (isArray(object)) { - current = parseInt(current); - validateInteger(current) - anchor = object?.[current]; - } else { - anchor = object?.[current]; - } - - if (isObject(anchor) || isArray(anchor)) { - return getValueViaPath(anchor, parts.join(DELIMITER), check) - } - - if (parts.length > 0) { - throw Error("the journey is not at its end (" + parts.join(DELIMITER) + ")"); - } - - if (check === true && !object.hasOwnProperty(current)) { - throw Error('unknown value'); - } - - return anchor; - - } - - throw TypeError("unsupported type") - -} - -/** - * - * @param object - * @param path - * @param value - * @returns {void} - * @throws {TypeError} unsupported type - * @throws {TypeError} unsupported type - * @throws {Error} the journey is not at its end - * @throws {Error} unsupported action for this data type - * @private - */ -function setValueViaPath(object, path, value) { - - let parts = path.split(DELIMITER) - let last = parts.pop(); - let subpath = parts.join(DELIMITER); - - let stack = new Stack() - let current = subpath; - while (true) { - - try { - getValueViaPath(object, current, true) - break; - } catch (e) { - - } - - stack.push(current); - parts.pop(); - current = parts.join(DELIMITER); - - if (current === "") break; - } - - while (!stack.isEmpty()) { - current = stack.pop(); - let obj = {}; - - if (!stack.isEmpty()) { - let n = stack.peek().split(DELIMITER).pop(); - if (isInteger(parseInt(n))) { - obj = []; - } - - } - - - setValueViaPath(object, current, obj); - } - - let anchor = getValueViaPath(object, subpath); - - if (!isObject(object) && !isArray(object)) { - throw TypeError("unsupported type: " + typeof object); - } - - if (anchor instanceof Map || anchor instanceof WeakMap) { - anchor.set(last, value); - } else if (anchor instanceof Set || anchor instanceof WeakSet) { - anchor.append(value) - - } else if (anchor instanceof WeakRef) { - throw Error('unsupported action for this data type'); - - } else if (isArray(anchor)) { - last = parseInt(last); - validateInteger(last) - anchor[last] = value; - } else { - anchor[last] = value; - } - - return; - -} - -/** - * - * @param object - * @param path - * @returns {void} - * @throws {TypeError} unsupported type - * @throws {TypeError} unsupported type - * @throws {Error} the journey is not at its end - * @throws {Error} unsupported action for this data type - * @since 1.6.0 - * @private - */ -function deleteValueViaPath(object, path) { - - const parts = path.split(DELIMITER) - let last = parts.pop(); - const subpath = parts.join(DELIMITER); - - const anchor = getValueViaPath.call(this, object, subpath); - - if (anchor instanceof Map) { - anchor.delete(last); - } else if (anchor instanceof Set || anchor instanceof WeakMap || anchor instanceof WeakSet || anchor instanceof WeakRef) { - throw Error('unsupported action for this data type'); - - } else if (isArray(anchor)) { - last = parseInt(last); - validateInteger(last) - delete anchor[last]; - } else { - delete anchor[last]; - } - - return; - -} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/data_pipe.js.html b/docs/data_pipe.js.html deleted file mode 100644 index a991b9d21..000000000 --- a/docs/data_pipe.js.html +++ /dev/null @@ -1,275 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - data/pipe.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - data/pipe.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {Transformer} from './transformer.js'; -import {Base} from '../types/base.js'; -import {validateString} from '../types/validate.js'; - - -const DELIMITER = '|'; - -/** - * The pipe class makes it possible to combine several processing steps. - * - * You can call the method via the monster namespace `new Monster.Data.Pipe()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; - * console.log(new Monster.Data.Pipe()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; - * console.log(new Pipe()) - * </script> - * ``` - * - * A pipe consists of commands whose input and output are connected with the pipe symbol `|`. - * - * With the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command). - * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char. - * - * @example - * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; - * - * let obj = { - * a: { - * b: { - * c: { - * d: "world" - * } - * } - * } - * } - * - * console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\ ').run(obj)); - * // ↦ Hello WORLD - * - * @since 1.5.0 - * @copyright schukai GmbH - * @memberOf Monster/Data - */ -class Pipe extends Base { - - /** - * - * @param {string} pipe a pipe consists of commands whose input and output are connected with the pipe symbol `|`. - * @throws {TypeError} - */ - constructor(pipe) { - super(); - validateString(pipe); - this.pipe = pipe.split(DELIMITER).map((v) => { - return new Transformer(v); - }); - - } - - /** - * run a pipe - * - * @param {*} value - * @returns {*} - */ - run(value) { - return this.pipe.reduce((accumulator, currentValue, currentIndex, array) => { - return currentValue.run(accumulator); - }, value); - } -} - -Monster.assignToNamespace('Monster.Data', Pipe); -export {Monster, Pipe} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/data_transformer.js.html b/docs/data_transformer.js.html deleted file mode 100644 index 648a24b8b..000000000 --- a/docs/data_transformer.js.html +++ /dev/null @@ -1,616 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - data/transformer.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - data/transformer.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {Base} from '../types/base.js'; -import {validateString, validatePrimitive, validateFunction, validateInteger} from '../types/validate.js'; -import {isObject, isString, isArray} from '../types/is.js'; -import {ID} from '../types/id.js'; -import {clone} from "../util/clone.js"; -import {Pathfinder} from "./pathfinder.js"; - -/** - * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up. - * - * You can call the method via the monster namespace `new Monster.Data.Transformer()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; - * console.log(new Monster.Data.Transformer()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; - * console.log(new Transformer()) - * </script> - * ``` - * - * A simple example is the conversion of all characters to lowercase. for this purpose the command tolower must be used. - * - * ``` - * let t = new Transformer('tolower').run('ABC'); // ↦ abc - * ``` - * - * **all commands** - * - * in the following table all commands, parameters and existing aliases are described. - * - * | command | parameter | alias | description | - * |:-------------|:---------------------------|:------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| - * | base64 | | | Converts the value to base64 | - * | call | function,param1:param2:... | | Calling a callback function. The function can be defined in three places: either globally, in the context `addCallback` or in the passed object | - * | empty | | | Return empty String "" | - * | if | statement1:statement2 | ? | Is the ternary operator, the first parameter is the valid statement, the second is the false part. To use the current value in the queue, you can set the value keyword. On the other hand, if you want to have the static string "value", you have to put one backslash \\ in front of it and write value. the follow values are true: 'on', true, 'true' | - * | index | key:default | property, key | Fetches a value from an object, an array, a map or a set | - * | length | | count | Length of the string or entries of an array or object | - * | nop | | | Do nothing | - * | path | path | | The access to an object is done via a Pathfinder object | - * | plaintext | | plain | All HTML tags are removed (*) | - * | prefix | text | | Adds a prefix | - * | rawurlencode | | | URL coding | - * | static | | none | The Arguments value is used and passed to the value. Special characters \ <space> and : can be quotet by a preceding \. | - * | substring | start:length | | Returns a substring | - * | suffix | text | | Adds a suffix | - * | tointeger | | | Type conversion to an integer value | - * | tolower | | strtolower, tolowercase | The input value is converted to lowercase letters | - * | tostring | | | Type conversion to a string | - * | toupper | | strtoupper, touppercase | The input value is converted to uppercase letters | - * | trim | | | Remove spaces at the beginning and end | - * | ucfirst | | | First character large | - * | ucwords | | | Any word beginning large | - * | undefined | | | Return undefined | - * | uniqid | | | Creates a string with a unique value (**) | - * - * (*) for this functionality the extension [jsdom](https://www.npmjs.com/package/jsdom) must be loaded in the nodejs context. - * - * ``` - * // polyfill - * if (typeof window !== "object") { - * const {window} = new JSDOM('', { - * url: 'http://example.com/', - * pretendToBeVisual: true - * }); - * - * [ - * 'self', - * 'document', - * 'Node', - * 'Element', - * 'HTMLElement', - * 'DocumentFragment', - * 'DOMParser', - * 'XMLSerializer', - * 'NodeFilter', - * 'InputEvent', - * 'CustomEvent' - * ].forEach(key => (global[key] = window[key])); - * } - * ``` - * - * (**) for this command the crypt library is necessary in the nodejs context. - * - * ``` - * import * as Crypto from "@peculiar/webcrypto"; - * global['crypto'] = new Crypto.Crypto(); - * ``` - * - * @example - * - * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; - * - * const transformer = new Transformer("tolower") - * - * console.log(transformer.run("HELLO")) - * // ↦ hello - * - * console.log(transformer.run("WORLD")) - * // ↦ world - * - * @since 1.5.0 - * @copyright schukai GmbH - * @memberOf Monster/Data - */ -class Transformer extends Base { - /** - * - * @param {string} definition - */ - constructor(definition) { - super(); - validateString(definition); - - this.args = disassemble(definition); - this.command = this.args.shift() - this.callbacks = new Map(); - - } - - /** - * - * @param {string} name - * @param {function} callback - * @returns {Transformer} - * @throws {TypeError} value is not a string - * @throws {TypeError} value is not a function - */ - setCallback(name, callback) { - validateString(name) - validateFunction(callback) - this.callbacks.set(name, callback); - return this; - } - - /** - * - * @param {*} value - * @returns {*} - * @throws {Error} unknown command - * @throws {TypeError} unsupported type - * @throws {Error} type not supported - */ - run(value) { - return transform.apply(this, [value]) - } -} - -Monster.assignToNamespace('Monster.Data', Transformer); -export {Monster, Transformer} - -/** - * - * @param {string} command - * @returns {array} - * @private - */ -function disassemble(command) { - - validateString(command); - - let placeholder = new Map; - const regex = /((?<pattern>\\(?<char>.)){1})/mig; - - // The separator for args must be quotable - // undefined string which should not occur normally and is also not a regex - let result = command.matchAll(regex) - - for (let m of result) { - let g=m?.['groups']; - if(!isObject(g)) { - continue; - } - - let p=g?.['pattern']; - let c=g?.['char']; - - if(p&&c) { - let r='__'+new ID().toString()+'__'; - placeholder.set(r, c); - command=command.replace(p,r); - } - - } - let parts = command.split(':'); - - parts = parts.map(function (value) { - let v = value.trim(); - for(let k of placeholder) { - v= v.replace(k[0], k[1]); - } - return v; - - - }); - - return parts -} - -/** - * tries to make a string out of value and if this succeeds to return it back - * - * @param {*} value - * @returns {string} - * @private - */ -function convertToString(value) { - - if (isObject(value) && value.hasOwnProperty('toString')) { - value = value.toString(); - } - - validateString(value) - return value; -} - -/** - * - * @param {*} value - * @returns {*} - * @private - * @throws {Error} unknown command - * @throws {TypeError} unsupported type - * @throws {Error} type not supported - */ -function transform(value) { - - let args = clone(this.args); - let key - - switch (this.command) { - - case 'static': - return this.args.join(':'); - - case 'tolower': - case 'strtolower': - case 'tolowercase': - validateString(value) - return value.toLowerCase(); - - case 'toupper': - case 'strtoupper': - case 'touppercase': - validateString(value) - return value.toUpperCase(); - - case 'tostring': - return "" + value; - - case 'tointeger': - let n = parseInt(value); - validateInteger(n); - return n - - case 'trim': - validateString(value) - return value.trim(); - - case 'rawurlencode': - validateString(value) - return encodeURIComponent(value) - .replace(/!/g, '%21') - .replace(/'/g, '%27') - .replace(/\(/g, '%28') - .replace(/\)/g, '%29') - .replace(/\*/g, '%2A'); - - - case 'call': - - /** - * callback-definition - * function callback(value, ...args) { - * return value; - * } - */ - - let callback; - let callbackName = args.shift(); - - if (isObject(value) && calue.hasOwnProperty(callbackName)) { - callback = value[callbackName]; - } else if (this.callbacks.has(callbackName)) { - callback = this.callbacks.get(callbackName); - } else if (typeof window === 'object' && window.hasOwnProperty(callbackName)) { - callback = window[callbackName]; - } - validateFunction(callback); - - args.unshift(value); - return callback(...args); - - case 'plain': - case 'plaintext': - validateString(value); - let doc = new DOMParser().parseFromString(value, 'text/html'); - return doc.body.textContent || ""; - - case 'if': - case '?': - - validatePrimitive(value); - - let trueStatement = (args.shift() || undefined); - let falseStatement = (args.shift() || undefined); - - if (trueStatement === 'value') { - trueStatement = value; - } - if (trueStatement === '\\value') { - trueStatement = 'value'; - } - if (falseStatement === 'value') { - falseStatement = value; - } - if (falseStatement === '\\value') { - falseStatement = 'value'; - } - - let condition = ((value !== undefined && value !== '' && value !== 'off' && value !== 'false' && value !== false) || value === 'on' || value === 'true' || value === true); - return condition ? trueStatement : falseStatement; - - - case 'ucfirst': - validateString(value); - - let firstchar = value.charAt(0).toUpperCase(); - return firstchar + value.substr(1); - case 'ucwords': - validateString(value); - - return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g, function (v) { - return v.toUpperCase(); - }); - - case 'count': - case 'length': - - if ((isString(value) || isObject(value) || isArray(value)) && value.hasOwnProperty('length')) { - return value.length; - } - - throw new TypeError("unsupported type"); - - case 'base64': - convertToString(value); - return btoa(value); - - case 'empty': - return ''; - - case 'undefined': - return undefined; - - case 'prefix': - validateString(value); - let prefix = args?.[0]; - return prefix + value; - - case 'suffix': - validateString(value); - let suffix = args?.[0]; - return value + suffix; - - case 'uniqid': - return (new ID()).toString(); - - case 'key': - case 'property': - case 'index': - - key = (args.shift() || 'undefined'); - let defaultValue = (args.shift() || ''); - - if (value instanceof Map) { - if(!value.has(key)) { - return defaultValue; - } - return value.get(key); - } - - if (isObject(value)||isArray(value)) { - - if (value?.[key]) { - return value?.[key]; - } - - return defaultValue; - } - - throw new Error("type not supported") - - case 'path': - - key = (args.shift() || 'undefined'); - return new Pathfinder(value).getVia(key); - - - case 'substring': - - validateString(value); - - let start = parseInt(args[0]) || 0; - let end = (parseInt(args[1]) || 0) + start; - - return value.substring(start, end); - - case 'nop': - return value; - - default: - throw new Error("unknown command "+this.command) - } - - return value; -} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/dom_assembler.js.html b/docs/dom_assembler.js.html deleted file mode 100644 index 2eaace76b..000000000 --- a/docs/dom_assembler.js.html +++ /dev/null @@ -1,283 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - dom/assembler.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - dom/assembler.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, Base} from '../types/base.js'; -import {validateInstance, validateString} from "../types/validate.js"; -import {getGlobalFunction} from "../types/global.js"; -import {ProxyObserver} from "../types/proxyobserver.js"; - - -/** - * attribute prefix - * - * @type {string} - * @memberOf Monster/DOM - */ -const ATTRIBUTEPREFIX = "data-monster-"; - -/** - * you can call the method via the monster namespace `new Monster.DOM.Assembler()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js'; - * console.log(new Monster.DOM.Assembler()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js'; - * console.log(new Assembler()) - * </script> - * ``` - * - * @since 1.6.0 - * @copyright schukai GmbH - * @memberOf Monster/DOM - */ -class Assembler extends Base { - - /** - * @param {DocumentFragment} fragment - * @throws {TypeError} value is not an instance of - * @throws {TypeError} value is not a function - * @throws {Error} the function is not defined - */ - constructor(fragment) { - super(); - this.attributePrefix = ATTRIBUTEPREFIX; - validateInstance(fragment, getGlobalFunction('DocumentFragment')); - this.fragment = fragment; - } - - /** - * - * @param {string} prefix - * @returns {Assembler} - * @throws {TypeError} value is not a string - */ - setAttributePrefix(prefix) { - validateString(prefix); - this.attributePrefix = prefix; - return this; - } - - /** - * - * @returns {string} - */ - getAttributePrefix() { - return this.attributePrefix; - } - - /** - * - * @param {ProxyObserver|undefined} data - * @return {DocumentFragment} - * @throws {TypeError} value is not an instance of - */ - createDocumentFragment(data) { - - if (data === undefined) { - data = new ProxyObserver({}); - } - - validateInstance(data, ProxyObserver); - let fragment = this.fragment.cloneNode(true); - return fragment; - } - -} - -Monster.assignToNamespace('Monster.DOM', Assembler); -export {Monster, ATTRIBUTEPREFIX, Assembler} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/dom_customelement.js.html b/docs/dom_customelement.js.html deleted file mode 100644 index 6b0403067..000000000 --- a/docs/dom_customelement.js.html +++ /dev/null @@ -1,334 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - dom/customelement.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - dom/customelement.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {getGlobalObject} from "../types/global.js"; -import {Monster, validateFunction} from "../types/validate.js"; - - -/** - * To define a new HTML element we need the power of CustomElement - * - * you can call the method via the monster namespace `new Monster.DOM.Element()`. - * - * important: after defining a `CustomElement`, the `registerCustomElement` method must be called - * with the new class name. only then will the tag defined via the `getTag` method be made known to the DOM. - * - * ``` - * <script type="module"> - * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js'; - * console.log(new Monster.DOM.CustomElement()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js'; - * console.log(new CustomElement()) - * </script> - * ``` - * - * ## Styling - * - * For optimal display of custom-elements the pseudo-class :defined can be used. - * - * ```html - * <style> - * - * my-custom-element:not(:defined) { - * display: none; - * } - * - * my-custom-element:defined { - * display: flex; - * } - * - * </style> - * ``` - * - * * @example - * // returns 2 - * globalNS.method1(5, 10); - * @example - * // returns 3 - * globalNS.method(5, 15); - * - * @see https://github.com/WICG/webcomponents - * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements - * @since 1.7.0 - * @copyright schukai GmbH - * @memberOf Monster/DOM - */ -class CustomElement extends HTMLElement { - - /** - * - */ - constructor() { - super(); - } - - /** - * Called every time the element is inserted into the DOM. Useful for running setup code, such as - * fetching resources or rendering. Generally, you should try to delay work until this time. - * - * @return {void} - */ - connectedCallback() { - - } - - /** - * Called every time the element is removed from the DOM. Useful for running clean up code. - * - * @return {void} - */ - disconnectedCallback() { - - } - - /** - * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)). - * - * @return {void} - */ - adoptedCallback() { - - } - - /** - * Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial - * values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback. - * - * @param {string} attrName - * @param {string} oldVal - * @param {string} newVal - * @return {void} - */ - attributeChangedCallback(attrName, oldVal, newVal) { - - } - - /** - * there is no check on the name by this class. the developer is responsible for assigning an appropriate tag. - * if the name is not valid, registerCustomElement() will issue an erro - * - * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name - * @return {string} - * @throws {Error} the method getTag must be overwritten by the derived class. - */ - static getTag() { - throw new Error("the method getTag must be overwritten by the derived class."); - } - - -} - -/** - * this method registers a new element. the string returned by `CustomElement.getTag()` is used as the tag. - * - * @param {CustomElement} element - * @return {void} - * @since 1.7.0 - * @copyright schukai GmbH - * @memberOf Monster/DOM - * @throws {DOMException} Failed to execute 'define' on 'CustomElementRegistry': is not a valid custom element name - */ -function registerCustomElement(element) { - validateFunction(element); - - let tag = element.getTag(); - - getGlobalObject('customElements').define(element.getTag(), element); - return; -} - -Monster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement); -export {Monster, registerCustomElement, CustomElement}</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/dom_handle.js.html b/docs/dom_handle.js.html deleted file mode 100644 index 11a37be64..000000000 --- a/docs/dom_handle.js.html +++ /dev/null @@ -1,412 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - dom/handle.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - dom/handle.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, Base} from '../types/base.js'; -import {Stack} from "../types/stack.js"; -import {validateInstance} from "../types/validate.js"; -import {ProxyObserver} from "../types/proxyobserver.js"; -import {Observer} from "../types/observer.js"; -import {getGlobalFunction, getGlobalObject} from "../types/global.js"; -import {isInstance} from "../types/is.js"; -import {ATTRIBUTEPREFIX} from "./assembler.js" -import {ID} from "../types/id.js"; - -/** - * @private - * @type {Symbol} - */ -const MONSTERDOMHANDLE = Symbol('MonsterHandle'); - -/** - * you can call the method via the monster namespace `new Monster.DOM.Handle()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; - * console.log(new Monster.DOM.Handle()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; - * console.log(new Handle()) - * </script> - * ``` - * - * @since 1.6.0 - * @copyright schukai GmbH - * @memberOf Monster.DOM - */ -class Handle extends Base { - /** - * - * @param {ProxyObserver} data - */ - constructor(data) { - super(); - - let self = this; - - self.id = new ID(); - - validateInstance(data, ProxyObserver); - - this.data = data - - this.mutationObserver = createMutationObserver.call(this); - this.dataObserver = createDataObserver.call(this); - this.data.attachObserver(this.dataObserver); - - this.nodes = new WeakSet - this.updates = new Stack(); - - } - - /** - * @return {void} - */ - update() { - return; - } - - /** - * - * @param {HTMLElement|Document} node - * @return {Handle} - */ - remove(node) { - - if (isInstance(node, getGlobalFunction('Document'))) { - node = node.firstElementChild - } - - validateInstance(node, getGlobalFunction('HTMLElement')) - - if (!this.nodes.has(node)) { - return this; - } - - this.mutationObserver.disconnect(node); - - delete node.dataset[MONSTERDOMHANDLE] - node.removeAttribute(ATTRIBUTEPREFIX + "handler"); - - return this; - - } - - /** - * - * @param {HTMLElement|Document} node - * @return {Handle} - */ - append(node) { - - if (isInstance(node, getGlobalFunction('Document'))) { - node = node.firstElementChild - } - - validateInstance(node, getGlobalFunction('HTMLElement')) - - if (this.nodes.has(node)) { - return this; - } - - node.dataset[MONSTERDOMHANDLE] = this; - node.setAttribute(ATTRIBUTEPREFIX + "handler", true); - - this.mutationObserver.observe(node, { - attributes: true, - childList: true, - subtree: true, - characterData: true, - characterDataOldValue: true, - attributeOldValue: true - }); - - this.nodes.add(node); - - return this; - - } -} - -/** - * - * @private - * @return {Observer} - */ -function createDataObserver() { - const self = this; - - return new Observer(() => { - self.update(); - }); -} - -/** - * - * @private - * @return {MutationObserver} - */ -function createMutationObserver() { - - const self = this; - - /** - * @private - * @type {MutationObserver} - */ - const MutationObserver = getGlobalFunction('MutationObserver'); - - // @link https://developer.mozilla.org/en/docs/Web/API/MutationObserver - return new MutationObserver((mutationsList, observer) => { - - for (const mutation of mutationsList) { - self.updates.push(mutation); - } - - self.update(); - } - ) - -} - -/** - * get the handle of a node - * - * if a node is specified without a handler, a recursive search upwards is performed until the corresponding - * handle is found, or undefined is returned. - * - * you can call the method via the monster namespace `Monster.DOM.getHandleFromNode()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; - * console.log(Monster.DOM.getHandleFromNode()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; - * console.log(getHandleFromNode()) - * </script> - * ``` - * - * @param {Node} node - * @return {Handle|undefined} - * @since 1.6.0 - * @copyright schukai GmbH - * @memberOf Monster/DOM - * @throws {TypeError} value is not an instance of Node - */ -function getHandleFromNode(node) { - validateInstance(node, getGlobalFunction('Node')); - - let handle = node.dataset?.[MONSTERDOMHANDLE]; - if (handle === undefined) { - let parentNode = node?.['parentNode']; - if (isInstance(parentNode, getGlobalFunction('Node'))) { - return getHandleFromNode(parentNode) - } - } - - return handle; -} - -Monster.assignToNamespace('Monster.DOM', getHandleFromNode, Handle); -export {Monster, getHandleFromNode, Handle} - -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/dom_namespace.js.html b/docs/dom_namespace.js.html deleted file mode 100644 index 0cb1371b7..000000000 --- a/docs/dom_namespace.js.html +++ /dev/null @@ -1,195 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - dom/namespace.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - dom/namespace.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @namespace Monster/DOM - * @author schukai GmbH - */ - -/** - * @private - * @type {string} - */ -const namespace="Monster.DOM";</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/dom_template.js.html b/docs/dom_template.js.html deleted file mode 100644 index 3b2a59d1a..000000000 --- a/docs/dom_template.js.html +++ /dev/null @@ -1,308 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - dom/template.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - dom/template.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, Base} from '../types/base.js'; -import {validateString} from "../types/validate.js"; -import {getGlobalFunction, getGlobalObject} from '../types/global.js'; -import {validateInstance} from "../types/validate.js"; -import {findDocumentTheme} from "./theme.js"; - -/** - * you can call the method via the monster namespace `new Monster.DOM.Template()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; - * console.log(new Monster.DOM.Template()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; - * console.log(new Template()) - * </script> - * ``` - * - * @since 1.6.0 - * @copyright schukai GmbH - * @memberOf Monster/DOM - */ -class Template extends Base { - /** - * - * @param {HTMLTemplateElement} template - * @throws {TypeError} value is not an instance of - * @throws {TypeError} value is not a function - * @throws {Error} the function is not defined - */ - constructor(template) { - super(); - const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement'); - validateInstance(template, HTMLTemplateElement); - this.template = template; - } - - /** - * - * @returns {HTMLTemplateElement} - */ - getTemplateElement() { - return this.template; - } - - /** - * - * @return {DocumentFragment} - * @throws {TypeError} value is not an instance of - */ - createDocumentFragment() { - return this.template.content.cloneNode(true); - } - -} - -/** - * - * - * you can call the method via the monster namespace `Monster.DOM.findDocumentTemplate()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; - * console.log(Monster.DOM.findDocumentTemplate()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; - * console.log(findDocumentTemplate()) - * </script> - * ``` - * - * @param {string} id - * @return {Template} - * @since 1.7.0 - * @copyright schukai GmbH - * @memberOf Monster/DOM - * @throws {Error} template id not found. - * @throws {TypeError} value is not a string - */ -function findDocumentTemplate(id) { - validateString(id); - const document = getGlobalObject('document'); - const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement'); - - let theme = findDocumentTheme() - let themedID = id + '-' + theme.getName(); - - let template = document.getElementById(themedID); - if (template instanceof HTMLTemplateElement) { - return new Template(template); - } - - template = document.getElementById(id); - if (template instanceof HTMLTemplateElement) { - return new Template(template); - } - - throw new Error("template " + id + " not found.") -} - - -Monster.assignToNamespace('Monster.DOM', Template, findDocumentTemplate); -export {Monster, Template, findDocumentTemplate} - - -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/dom_theme.js.html b/docs/dom_theme.js.html deleted file mode 100644 index af083ed57..000000000 --- a/docs/dom_theme.js.html +++ /dev/null @@ -1,285 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - dom/theme.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - dom/theme.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, Base} from '../types/base.js'; -import {validateString} from "../types/validate.js"; -import {getGlobalObject} from '../types/global.js'; - -/** - * default theme - * @type {string} - */ -const DEFAULT_THEME = 'monster'; - -/** - * @private - * @type {string} - */ -const THEME_ATTRIBUTE_NAME = 'data-monster-theme-name'; - -/** - * you can call the method via the monster namespace `new Monster.DOM.Theme()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js'; - * console.log(new Monster.DOM.Theme()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js'; - * console.log(new Theme()) - * </script> - * ``` - * - * @since 1.7.0 - * @copyright schukai GmbH - * @memberOf Monster/DOM - */ -class Theme extends Base { - - /** - * - * @param name - * @throws {TypeError} value is not a string - */ - constructor(name) { - super(); - validateString(name); - this.name = name; - } - - /** - * - * @returns {string} - */ - getName() { - return this.name; - } - -} - -/** - * the theming used in the document can be defined via the html-tag. - * the theming is specified via the attribute `data-monster-theme-name`. - * - * as name for a theme all characters are valid, which are also allowed for a HTMLElement-ID. - * - * ``` - * <html data-monster-theme-name="my-theme"> - * ``` - * - * the default theme name is `monster`. - * - * @return {Theme} - * @since 1.7.0 - */ -function findDocumentTheme() { - let document = getGlobalObject('document'); - let name = DEFAULT_THEME; - - let element = document.querySelector('html'); - if (element instanceof HTMLElement) { - let theme = element.getAttribute(THEME_ATTRIBUTE_NAME); - if (theme) { - name = theme; - } - } - - return new Theme(name); - -} - -Monster.assignToNamespace('Monster.DOM', Theme, findDocumentTheme); -export {Monster, Theme, findDocumentTheme} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/dom_util.js.html b/docs/dom_util.js.html deleted file mode 100644 index 10e4823cd..000000000 --- a/docs/dom_util.js.html +++ /dev/null @@ -1,387 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - dom/util.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - dom/util.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, getGlobal} from "../types/global.js"; -import {validateString} from "../types/validate.js"; - - -/** - * this method fetches the document object - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; - * console.log(Monster.DOM.getDocument()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; - * console.log(getDocument()) - * </script> - * ``` - * - * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom). - * - * ``` - * import {JSDOM} from "jsdom" - * if (typeof window !== "object") { - * const {window} = new JSDOM('', { - * url: 'http://example.com/', - * pretendToBeVisual: true - * }); - * - * [ - * 'self', - * 'document', - * 'Document', - * 'Node', - * 'Element', - * 'HTMLElement', - * 'DocumentFragment', - * 'DOMParser', - * 'XMLSerializer', - * 'NodeFilter', - * 'InputEvent', - * 'CustomEvent' - * ].forEach(key => (getGlobal()[key] = window[key])); - * } - * ``` - * - * @returns {object} - * @since 1.6.0 - * @copyright schukai GmbH - * @memberOf Monster/DOM - * @throws {Error} not supported environment - */ -function getDocument() { - let document = getGlobal()?.['document']; - if (typeof document !== 'object') { - throw new Error("not supported environment") - } - - return document; -} - -/** - * this method fetches the window object - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; - * console.log(Monster.DOM.getWindow()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; - * console.log(getWindow(null)) - * </script> - * ``` - * - * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom). - * - * ``` - * import {JSDOM} from "jsdom" - * if (typeof window !== "object") { - * const {window} = new JSDOM('', { - * url: 'http://example.com/', - * pretendToBeVisual: true - * }); - * - * getGlobal()['window']=window; - * - * [ - * 'self', - * 'document', - * 'Document', - * 'Node', - * 'Element', - * 'HTMLElement', - * 'DocumentFragment', - * 'DOMParser', - * 'XMLSerializer', - * 'NodeFilter', - * 'InputEvent', - * 'CustomEvent' - * ].forEach(key => (getGlobal()[key] = window[key])); - * } - * ``` - * - * @returns {object} - * @since 1.6.0 - * @copyright schukai GmbH - * @memberOf Monster/DOM - * @throws {Error} not supported environment - */ -function getWindow() { - let window = getGlobal()?.['window']; - if (typeof window !== 'object') { - throw new Error("not supported environment") - } - - return window; -} - - -/** - * - * - * this method fetches the document object - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; - * console.log(Monster.DOM.getDocumentFragmentFromString()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; - * console.log(getDocumentFragmentFromString('<div></div>')) - * </script> - * ``` - * - * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom). - * - * ``` - * import {JSDOM} from "jsdom" - * if (typeof window !== "object") { - * const {window} = new JSDOM('', { - * url: 'http://example.com/', - * pretendToBeVisual: true - * }); - * - * [ - * 'self', - * 'document', - * 'Document', - * 'Node', - * 'Element', - * 'HTMLElement', - * 'DocumentFragment', - * 'DOMParser', - * 'XMLSerializer', - * 'NodeFilter', - * 'InputEvent', - * 'CustomEvent' - * ].forEach(key => (getGlobal()[key] = window[key])); - * } - * ``` - * - * @returns {DocumentFragment} - * @since 1.6.0 - * @copyright schukai GmbH - * @memberOf Monster/DOM - * @throws {Error} not supported environment - * @throws {TypeError} value is not a string - */ -function getDocumentFragmentFromString(html) { - validateString(html); - - const document = getDocument(); - const template = document.createElement('template'); - template.innerHTML = html; - - return template.content; -} - - -Monster.assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString); -export {Monster, getWindow, getDocument, getDocumentFragmentFromString} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/fonts/Montserrat/Montserrat-Bold.eot b/docs/fonts/Montserrat/Montserrat-Bold.eot deleted file mode 100644 index f2970bbdc7cced41387b330775acfe5904035ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106135 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 MX)#!wV^KZ;01OXWt^fc4 diff --git a/docs/fonts/Montserrat/Montserrat-Bold.ttf b/docs/fonts/Montserrat/Montserrat-Bold.ttf deleted file mode 100644 index 3bfd79b66f9dd2a59deef46385ff5d9c576d6aae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47088 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%0AQ#VLn8(n-&;S}AVUl8C_;1H_;{O*WrT;(v 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 diff --git a/docs/fonts/Montserrat/Montserrat-Bold.woff b/docs/fonts/Montserrat/Montserrat-Bold.woff deleted file mode 100644 index 92607654b7c7225082b354f7ec641d5595f3d8c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112872 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	=-Y<YQQ_scE9yehx4 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 diff --git a/docs/fonts/Montserrat/Montserrat-Bold.woff2 b/docs/fonts/Montserrat/Montserrat-Bold.woff2 deleted file mode 100644 index d9940cd116dd684dce8fdc2ea0aaf878bbdd1880..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85436 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%0Dr{c2)@ib_ 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 OaHV{{&G&2itPB9z!8|ws diff --git a/docs/fonts/Montserrat/Montserrat-Regular.eot b/docs/fonts/Montserrat/Montserrat-Regular.eot deleted file mode 100644 index 735d12b51e3e109058fe239ec79c77cbd59f1384..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106287 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≪njgX;9I>2;ZK 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	yYyIdws^OHGdMjV=jlz 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 Mk;lE>X!)4~06O1>4FCWD diff --git a/docs/fonts/Montserrat/Montserrat-Regular.ttf b/docs/fonts/Montserrat/Montserrat-Regular.ttf deleted file mode 100644 index 5da852a349abb6a4f043b9bbbed1f66f6c249dc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46392 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 a8pCvk84NQSW--iWn8PraVIISLhE)IyJ8MP& diff --git a/docs/fonts/Montserrat/Montserrat-Regular.woff b/docs/fonts/Montserrat/Montserrat-Regular.woff deleted file mode 100644 index bf9183271b796e265c5d4be9e74a37955f03e11f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112020 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∨_$>eVcvxa+K^J^*N2xx7Duw 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 Y1xLkMq@>~)9hgnQ2MK^`e+C8y0JuJKVgLXD diff --git a/docs/fonts/Montserrat/Montserrat-Regular.woff2 b/docs/fonts/Montserrat/Montserrat-Regular.woff2 deleted file mode 100644 index 72d13c60bdf28d94eb46595d99c0dd5f499a6e08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85240 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%0Ajyc+*Dp-K{;Z7F@~h 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 SF3oNE>=(W(S$D^?G5`QlZmV_x diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot b/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot deleted file mode 100644 index 0f24510b88d0f266b8946b69cf7d3e0048b9ab76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19390 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 Us9Dsic$Mps1{d=smdvIE05X?39RL6T diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg b/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg deleted file mode 100644 index 5384f985d..000000000 --- a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +++ /dev/null @@ -1,978 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> -<metadata></metadata> -<defs> -<font id="source_sans_prolight" horiz-adv-x="479" > -<font-face units-per-em="1000" ascent="750" descent="-250" /> -<missing-glyph horiz-adv-x="200" /> -<glyph horiz-adv-x="0" /> -<glyph horiz-adv-x="333" /> -<glyph unicode=" " horiz-adv-x="200" /> -<glyph unicode="	" horiz-adv-x="200" /> -<glyph unicode=" " horiz-adv-x="200" /> -<glyph unicode="!" horiz-adv-x="259" d="M113 179l-6 420v71h46l-1 -71l-6 -420h-33zM130 -12q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5z" /> -<glyph unicode=""" horiz-adv-x="360" d="M92 477l-8 147l-1 69h51v-69l-9 -147h-33zM233 477l-8 147l-1 69h51v-69l-9 -147h-33z" /> -<glyph unicode="#" d="M93 0l26 214h-83v36h87l21 170h-88v36h92l25 194h35l-25 -194h149l26 194h34l-25 -194h82v-36h-85l-21 -170h86v-36h-91l-25 -214h-35l25 214h-149l-26 -214h-35zM158 250h150l21 170h-150z" /> -<glyph unicode="$" d="M226 -110v99q-93 7 -167 77l24 31q78 -70 161 -70q62 0 96 33.5t34 89.5q0 54 -30 91t-72 58t-84.5 42.5t-72.5 59.5t-30 94q0 62 40 105t101 50v99h39v-99q45 -3 76 -20.5t61 -49.5l-26 -28q-33 32 -60 46t-70 14q-51 0 -83.5 -32.5t-32.5 -82.5q0 -48 30 -80t72 -52 t84.5 -42t72.5 -64.5t30 -105.5q0 -70 -43 -114t-111 -50v-99h-39z" /> -<glyph unicode="%" horiz-adv-x="805" d="M181 257q-66 0 -103.5 54.5t-37.5 153.5q0 98 37.5 152t103.5 54t103.5 -54t37.5 -152q0 -99 -37.5 -153.5t-103.5 -54.5zM181 290q47 0 74.5 46.5t27.5 128.5t-27.5 127.5t-74.5 45.5t-74.5 -45.5t-27.5 -127.5t27.5 -128.5t74.5 -46.5zM198 -12l368 683h38l-367 -683 h-39zM624 -12q-66 0 -103.5 54.5t-37.5 153.5q0 98 37.5 152t103.5 54t103.5 -54t37.5 -152q0 -99 -37.5 -153.5t-103.5 -54.5zM624 21q47 0 74.5 46.5t27.5 128.5t-27.5 127.5t-74.5 45.5t-74.5 -45.5t-27.5 -127.5t27.5 -128.5t74.5 -46.5z" /> -<glyph unicode="&" horiz-adv-x="575" d="M226 -12q-81 0 -135.5 49.5t-54.5 129.5q0 59 35 102.5t100 91.5q-44 91 -44 163q0 64 38 105.5t98 41.5q52 0 81 -33.5t29 -86.5q0 -30 -11.5 -57t-38.5 -54t-45 -42t-57 -44q68 -125 183 -226q68 85 104 217h43q-43 -148 -117 -242q66 -53 128 -76l-15 -39 q-65 23 -141 83q-81 -83 -180 -83zM168 526q0 -63 37 -140q63 45 95.5 81t32.5 82q0 36 -17.5 61t-54.5 25q-42 0 -67.5 -31.5t-25.5 -77.5zM230 26q77 0 146 71q-119 109 -187 232q-52 -41 -80 -77.5t-28 -81.5q0 -64 43.5 -104t105.5 -40z" /> -<glyph unicode="'" horiz-adv-x="219" d="M92 477l-8 147l-1 69h51v-69l-9 -147h-33z" /> -<glyph unicode="(" horiz-adv-x="279" d="M220 -175q-132 214 -132 453t132 453l27 -16q-120 -191 -120 -437t120 -437z" /> -<glyph unicode=")" horiz-adv-x="279" d="M59 -175l-27 16q120 191 120 437t-120 437l27 16q132 -214 132 -453t-132 -453z" /> -<glyph unicode="*" horiz-adv-x="395" d="M132 462l-27 20l55 88l-90 36l10 30l94 -26l7 102h32l7 -100l95 24l10 -30l-90 -36l54 -88l-27 -20l-64 83z" /> -<glyph unicode="+" d="M219 110v201h-185v38h185v201h41v-201h185v-38h-185v-201h-41z" /> -<glyph unicode="," horiz-adv-x="219" d="M62 -155l-14 30q77 40 77 121q-4 -1 -12 -1q-18 0 -30 11t-12 31q0 19 12.5 30.5t30.5 11.5q23 0 37 -19t14 -52q0 -53 -28 -95.5t-75 -67.5z" /> -<glyph unicode="-" horiz-adv-x="299" d="M40 230v39h220v-39h-220z" /> -<glyph unicode="." horiz-adv-x="219" d="M110 -12q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5z" /> -<glyph unicode="/" horiz-adv-x="357" d="M9 -160l305 870h38l-305 -870h-38z" /> -<glyph unicode="0" d="M239 -12q-91 0 -141 87t-50 247q0 159 49.5 244t141.5 85t141.5 -85t49.5 -244q0 -160 -50 -247t-141 -87zM239 26q68 0 107 76t39 220q0 143 -39 217t-107 74t-107 -74t-39 -217t39 -219.5t107 -76.5z" /> -<glyph unicode="1" d="M84 0v39h150v530h-114v30q75 13 123 40h36v-600h139v-39h-334z" /> -<glyph unicode="2" d="M41 0v28q174 177 244.5 271t70.5 172q0 63 -35 102.5t-104 39.5q-81 0 -149 -84l-29 28q85 94 182 94q85 0 132.5 -48.5t47.5 -130.5q0 -31 -8 -61.5t-30 -68t-40.5 -64.5t-61.5 -76t-68.5 -76.5t-84.5 -90.5q88 5 107 5h218v-40h-392z" /> -<glyph unicode="3" d="M232 -12q-117 0 -203 90l26 31q74 -82 177 -82q65 0 107 39t42 102q0 148 -223 148v39q105 0 152.5 38t47.5 101q0 54 -35 86.5t-94 32.5q-81 0 -147 -70l-26 30q80 78 173 78q77 0 126 -41t49 -113q0 -116 -122 -158v-4q63 -13 104 -57t41 -109q0 -82 -55.5 -131.5 t-139.5 -49.5z" /> -<glyph unicode="4" d="M310 0v191h-294v26l297 422h40v-410h95v-38h-95v-191h-43zM70 229h240v234q0 52 4 110h-4q-9 -15 -26.5 -41t-25.5 -39z" /> -<glyph unicode="5" d="M227 -12q-115 0 -201 86l25 31q76 -78 175 -78q66 0 112.5 48.5t46.5 123.5q0 77 -42 121t-114 44q-56 0 -119 -43l-31 19l23 299h295v-39h-255l-20 -231q56 34 114 34q86 0 140.5 -51t54.5 -151q0 -97 -61 -155t-143 -58z" /> -<glyph unicode="6" d="M261 -12q-97 0 -153 79t-56 223q0 188 66.5 274.5t168.5 86.5q80 0 135 -62l-27 -30q-42 53 -108 53q-84 0 -137 -75.5t-53 -239.5q73 89 161 89q85 0 131.5 -51t46.5 -147q0 -86 -51.5 -143t-123.5 -57zM262 26q55 0 92 46.5t37 115.5q0 73 -34 116.5t-104 43.5 q-84 0 -155 -96q6 -105 47.5 -165.5t116.5 -60.5z" /> -<glyph unicode="7" d="M188 0q7 192 51.5 328t141.5 272h-337v39h393v-26q-110 -146 -151.5 -280.5t-49.5 -332.5h-48z" /> -<glyph unicode="8" d="M243 -12q-88 0 -145.5 50t-57.5 126q0 59 37.5 105.5t90.5 74.5v4q-92 61 -92 147q0 68 48 112t119 44q80 0 126.5 -46.5t46.5 -120.5q0 -47 -28 -90.5t-63 -71.5v-4q52 -32 82 -68.5t30 -94.5q0 -71 -54 -119t-140 -48zM290 335q84 68 84 148q0 55 -35.5 93t-95.5 38 q-53 0 -88 -33.5t-35 -85.5q0 -32 13.5 -57.5t41.5 -45t51.5 -30.5t63.5 -27zM243 25q66 0 107.5 37.5t41.5 93.5q0 34 -14.5 60t-43.5 45.5t-56.5 32t-69.5 29.5q-3 1 -4 1.5t-3 1t-4 1.5q-113 -66 -113 -161q0 -60 45.5 -100.5t113.5 -40.5z" /> -<glyph unicode="9" d="M226 291q37 0 79 24.5t76 72.5q-6 105 -47.5 165t-117.5 60q-55 0 -92 -46.5t-37 -114.5q0 -74 34.5 -117.5t104.5 -43.5zM191 -12q-81 0 -135 62l27 30q42 -53 109 -53q84 0 137 75.5t53 239.5q-73 -88 -162 -88q-84 0 -130.5 51t-46.5 147q0 86 51.5 142.5t123.5 56.5 q97 0 152.5 -78.5t55.5 -222.5q0 -188 -66 -275t-169 -87z" /> -<glyph unicode=":" horiz-adv-x="219" d="M110 370q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5zM110 -12q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5z" /> -<glyph unicode=";" horiz-adv-x="219" d="M110 370q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5zM62 -155l-14 30q77 40 77 121q-4 -1 -12 -1q-18 0 -30 11t-12 31q0 19 12.5 30.5t30.5 11.5q23 0 37 -19t14 -52q0 -53 -28 -95.5t-75 -67.5z" /> -<glyph unicode="<" d="M445 146l-411 164v44l411 164v-43l-232 -90l-133 -51v-4l133 -51l232 -90v-43z" /> -<glyph unicode="=" d="M34 413v38h411v-38h-411zM34 209v38h411v-38h-411z" /> -<glyph unicode=">" d="M34 146v43l232 90l133 51v4l-133 51l-232 90v43l411 -164v-44z" /> -<glyph unicode="?" horiz-adv-x="402" d="M163 179q-6 46 6.5 87t34.5 72t45 59.5t40 62t17 66.5q0 50 -29 83.5t-84 33.5q-77 0 -129 -64l-27 25q69 78 160 78q71 0 113 -43t42 -110q0 -37 -17 -73t-41 -65.5t-47 -60.5t-36 -70t-8 -81h-40zM186 -12q-17 0 -29.5 12.5t-12.5 32.5q0 21 12.5 33.5t29.5 12.5 t30 -12.5t13 -33.5q0 -20 -13 -32.5t-30 -12.5z" /> -<glyph unicode="@" horiz-adv-x="814" d="M388 -146q-148 0 -242 93.5t-94 254.5q0 190 116.5 310.5t280.5 120.5q144 0 229 -87t85 -230q0 -119 -57.5 -189.5t-126.5 -70.5q-41 0 -67 19t-30 57h-2q-63 -70 -122 -70q-49 0 -81.5 35.5t-32.5 100.5q0 81 52 153t134 72q53 0 83 -48h2l9 40h34l-36 -189 q-34 -135 60 -135q53 0 98 61.5t45 160.5q0 130 -75 207.5t-204 77.5q-143 0 -249.5 -110.5t-106.5 -282.5q0 -145 82.5 -230t218.5 -85q89 0 168 48l16 -30q-85 -54 -187 -54zM364 98q50 0 108 67l31 173q-32 49 -74 49q-64 0 -104.5 -58.5t-40.5 -127.5q0 -103 80 -103z " /> -<glyph unicode="A" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46z" /> -<glyph unicode="B" horiz-adv-x="578" d="M97 0v659h178q103 0 160.5 -40t57.5 -120q0 -53 -26.5 -91t-75.5 -53v-4q66 -11 104 -52t38 -107q0 -93 -65.5 -142.5t-179.5 -49.5h-191zM143 369h114q190 0 190 125q0 68 -45.5 97.5t-139.5 29.5h-119v-252zM143 38h133q101 0 156.5 38t55.5 115q0 140 -212 140h-133 v-293z" /> -<glyph unicode="C" horiz-adv-x="564" d="M331 -12q-123 0 -199.5 93.5t-76.5 249.5t77.5 248t203.5 92q105 0 172 -79l-27 -31q-60 68 -144 68q-109 0 -171.5 -80t-62.5 -218t62 -219.5t168 -81.5q94 0 167 81l27 -29q-83 -94 -196 -94z" /> -<glyph unicode="D" horiz-adv-x="604" d="M97 0v659h153q148 0 223.5 -86.5t75.5 -240.5q0 -155 -75.5 -243.5t-222.5 -88.5h-154zM143 39h102q129 0 192.5 79t63.5 214q0 134 -63.5 211t-192.5 77h-102v-581z" /> -<glyph unicode="E" horiz-adv-x="515" d="M97 0v659h361v-40h-315v-249h264v-40h-264v-290h325v-40h-371z" /> -<glyph unicode="F" horiz-adv-x="477" d="M97 0v659h359v-40h-313v-262h265v-40h-265v-317h-46z" /> -<glyph unicode="G" horiz-adv-x="605" d="M338 -12q-128 0 -205.5 93t-77.5 250q0 156 80 248t211 92q105 0 180 -79l-27 -31q-62 68 -152 68q-113 0 -178.5 -80t-65.5 -218t63 -219.5t175 -81.5q98 0 148 50v205h-158v39h202v-261q-70 -75 -195 -75z" /> -<glyph unicode="H" horiz-adv-x="639" d="M97 0v659h46v-289h353v289h46v-659h-46v330h-353v-330h-46z" /> -<glyph unicode="I" horiz-adv-x="240" d="M97 0v659h46v-659h-46z" /> -<glyph unicode="J" horiz-adv-x="462" d="M203 -12q-110 0 -162 97l35 23q45 -78 127 -78q60 0 89 37t29 117v475h46v-480q0 -86 -39.5 -138.5t-124.5 -52.5z" /> -<glyph unicode="K" horiz-adv-x="558" d="M97 0v659h46v-366h2l319 366h55l-210 -244l239 -415h-53l-218 380l-134 -153v-227h-46z" /> -<glyph unicode="L" horiz-adv-x="467" d="M97 0v659h46v-619h304v-40h-350z" /> -<glyph unicode="M" horiz-adv-x="706" d="M97 0v659h65l138 -387q5 -15 23.5 -66.5t28.5 -79.5h4q7 20 24 69.5t26 76.5l137 387h66v-659h-45v433q0 68 6 178h-4l-51 -147l-142 -392h-40l-143 392l-52 147h-4q6 -165 6 -178v-433h-43z" /> -<glyph unicode="N" horiz-adv-x="636" d="M97 0v659h48l278 -465l74 -131h4l-6 192v404h44v-659h-48l-278 465l-74 131h-4q1 -21 2.5 -58.5t2.5 -69t1 -59.5v-409h-44z" /> -<glyph unicode="O" horiz-adv-x="652" d="M326 -12q-120 0 -195.5 94.5t-75.5 249.5q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -155 -76 -249.5t-196 -94.5zM326 30q101 0 162 82.5t61 219.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -137 61 -219.5t162 -82.5z" /> -<glyph unicode="P" horiz-adv-x="549" d="M97 0v659h166q117 0 178 -43t61 -141q0 -95 -61.5 -143.5t-173.5 -48.5h-124v-283h-46zM143 322h113q102 0 150.5 36.5t48.5 116.5q0 81 -48.5 113t-154.5 32h-109v-298z" /> -<glyph unicode="Q" horiz-adv-x="652" d="M326 27q101 0 162 83.5t61 221.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -138 61 -221.5t162 -83.5zM519 -156q-80 0 -136.5 40t-82.5 105q-109 11 -177 104t-68 239q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -147 -68 -239.5 t-179 -103.5q46 -102 172 -102q33 0 67 8l10 -39q-41 -12 -81 -12z" /> -<glyph unicode="R" horiz-adv-x="544" d="M97 0v659h189q216 0 216 -174q0 -77 -44.5 -123t-124.5 -56l182 -306h-53l-179 303h-140v-303h-46zM143 341h131q181 0 181 144q0 72 -45.5 103.5t-135.5 31.5h-131v-279z" /> -<glyph unicode="S" horiz-adv-x="521" d="M269 -12q-134 0 -223 99l30 32q79 -89 193 -89q75 0 119.5 36.5t44.5 95.5q0 30 -8.5 52t-27.5 38t-35.5 25t-46.5 23l-100 45q-27 12 -46 23.5t-41.5 30.5t-34.5 47t-12 63q0 71 54.5 116.5t137.5 45.5q110 0 183 -79l-26 -30q-65 67 -157 67q-66 0 -106 -32t-40 -86 q0 -27 9.5 -48t30.5 -36.5t34.5 -23t39.5 -19.5l100 -44q67 -30 103 -68t36 -107q0 -77 -58 -127t-153 -50z" /> -<glyph unicode="T" horiz-adv-x="524" d="M239 0v619h-210v40h466v-40h-210v-619h-46z" /> -<glyph unicode="U" horiz-adv-x="634" d="M316 -12q-45 0 -82.5 13t-70 42t-50.5 82.5t-18 127.5v406h46v-401q0 -122 48.5 -175t126.5 -53q80 0 130 53t50 175v401h43v-406q0 -74 -18.5 -127.5t-51 -82.5t-70 -42t-83.5 -13z" /> -<glyph unicode="V" horiz-adv-x="491" d="M222 0l-218 659h49l122 -385q57 -183 70 -221h4q12 36 23 71.5t24 78.5t22 71l122 385h47l-216 -659h-49z" /> -<glyph unicode="W" horiz-adv-x="770" d="M178 0l-150 659h48l83 -388q30 -144 45 -215h4q25 112 51 215l103 388h47l103 -388q9 -36 26.5 -107.5t26.5 -107.5h4q8 36 21.5 107.5t21.5 107.5l83 388h45l-147 -659h-51l-120 452q-3 15 -16 67t-19 82h-4q-6 -28 -19 -77.5t-18 -71.5l-118 -452h-50z" /> -<glyph unicode="X" horiz-adv-x="482" d="M17 0l198 341l-184 318h50l108 -194l54 -90h4q37 69 49 90l108 194h47l-184 -320l198 -339h-50l-115 202q-20 37 -61 105h-4q-33 -62 -56 -105l-115 -202h-47z" /> -<glyph unicode="Y" horiz-adv-x="447" d="M200 0v267l-197 392h49l100 -206q53 -111 70 -142h4q55 107 71 142l100 206h47l-198 -392v-267h-46z" /> -<glyph unicode="Z" horiz-adv-x="538" d="M50 0v27l379 592h-346v40h404v-27l-380 -592h383v-40h-440z" /> -<glyph unicode="[" horiz-adv-x="279" d="M98 -152v860h160v-29h-125v-802h125v-29h-160z" /> -<glyph unicode="\" horiz-adv-x="357" d="M311 -160l-306 870h38l306 -870h-38z" /> -<glyph unicode="]" horiz-adv-x="279" d="M21 -152v29h125v802h-125v29h160v-860h-160z" /> -<glyph unicode="^" d="M66 290l150 380h46l151 -380h-43l-77 203l-52 133h-4l-51 -133l-77 -203h-43z" /> -<glyph unicode="_" horiz-adv-x="500" d="M12 -117v38h476v-38h-476z" /> -<glyph unicode="`" horiz-adv-x="535" d="M296 574l-144 151l34 29l134 -157z" /> -<glyph unicode="a" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5z" /> -<glyph unicode="b" horiz-adv-x="542" d="M280 -12q-70 0 -144 61h-2l-5 -49h-37v719h44v-208l-2 -94q90 75 166 75q94 0 143 -65.5t49 -179.5q0 -118 -62 -188.5t-150 -70.5zM278 27q73 0 120 61.5t47 158.5q0 95 -37 150.5t-115 55.5q-69 0 -157 -79v-285q73 -62 142 -62z" /> -<glyph unicode="c" horiz-adv-x="449" d="M270 -12q-96 0 -157 67.5t-61 183.5t63.5 184.5t155.5 68.5q76 0 141 -59l-26 -31q-55 51 -114 51q-74 0 -124 -60t-50 -154q0 -95 48 -153.5t126 -58.5q68 0 128 55l23 -31q-72 -63 -153 -63z" /> -<glyph unicode="d" horiz-adv-x="544" d="M251 -12q-92 0 -145.5 65.5t-53.5 185.5q0 113 62.5 183t150.5 70q41 0 73 -14t72 -45l-2 88v198h44v-719h-38l-4 62h-3q-74 -74 -156 -74zM257 27q72 0 151 79v285q-70 62 -140 62q-72 0 -120.5 -61.5t-48.5 -152.5q0 -97 41.5 -154.5t116.5 -57.5z" /> -<glyph unicode="e" horiz-adv-x="483" d="M274 -12q-95 0 -158.5 68t-63.5 183q0 113 62.5 183t146.5 70q86 0 135 -58.5t49 -163.5q0 -24 -2 -36h-346q2 -92 51.5 -150t129.5 -58q69 0 129 43l18 -34q-78 -47 -151 -47zM97 270h306q0 90 -37.5 137t-103.5 47q-64 0 -111 -50t-54 -134z" /> -<glyph unicode="f" horiz-adv-x="263" d="M99 0v442h-66v34l66 4v107q0 71 31 107.5t88 36.5q35 0 70 -16l-12 -36q-28 14 -58 14q-75 0 -75 -109v-104h111v-38h-111v-442h-44z" /> -<glyph unicode="g" horiz-adv-x="487" d="M249 -231q-91 0 -144 36t-53 97q0 64 71 116v4q-42 25 -42 77q0 51 52 88v4q-60 52 -60 132q0 73 49 121t120 48q33 0 63 -12h163v-37h-112q53 -46 53 -121q0 -73 -48 -121t-119 -48q-46 0 -80 20q-39 -32 -39 -69q0 -63 92 -63h103q81 0 119.5 -26.5t38.5 -83.5 q0 -65 -63.5 -113.5t-163.5 -48.5zM242 188q51 0 87.5 38t36.5 97t-36 96t-88 37q-53 0 -89 -36.5t-36 -96.5q0 -59 36.5 -97t88.5 -38zM254 -195q78 0 127.5 37t49.5 84q0 73 -111 73h-103q-27 0 -60 8q-63 -43 -63 -101q0 -46 42.5 -73.5t117.5 -27.5z" /> -<glyph unicode="h" horiz-adv-x="528" d="M92 0v719h44v-314q87 87 166 87q74 0 109.5 -45.5t35.5 -138.5v-308h-44v302q0 77 -26 113.5t-84 36.5q-41 0 -75.5 -21t-81.5 -69v-362h-44z" /> -<glyph unicode="i" horiz-adv-x="229" d="M92 0v480h44v-480h-44zM115 596q-17 0 -28.5 11t-11.5 28q0 18 11.5 29t28.5 11t28.5 -11t11.5 -29q0 -17 -11.5 -28t-28.5 -11z" /> -<glyph unicode="j" horiz-adv-x="229" d="M29 -229q-32 0 -62 12l11 36q30 -10 50 -10q38 0 51 26.5t13 78.5v566h45v-569q0 -140 -108 -140zM115 596q-16 0 -28 11t-12 28q0 18 12 29t28 11q17 0 29 -11t12 -29q0 -17 -12 -28t-29 -11z" /> -<glyph unicode="k" horiz-adv-x="464" d="M92 0v719h44v-530h2l237 291h51l-156 -190l182 -290h-49l-159 257l-108 -126v-131h-44z" /> -<glyph unicode="l" horiz-adv-x="237" d="M151 -12q-59 0 -59 76v655h44v-661q0 -31 21 -31q8 0 18 2l8 -36q-15 -5 -32 -5z" /> -<glyph unicode="m" horiz-adv-x="812" d="M92 0v480h38l4 -74h3q75 86 151 86q105 0 133 -98q90 98 163 98q144 0 144 -184v-308h-45v302q0 150 -107 150q-65 0 -144 -90v-362h-44v302q0 77 -26.5 113.5t-81.5 36.5q-64 0 -144 -90v-362h-44z" /> -<glyph unicode="n" horiz-adv-x="532" d="M92 0v480h38l4 -74h3q86 86 165 86q74 0 109.5 -45.5t35.5 -138.5v-308h-44v302q0 77 -26 113.5t-84 36.5q-41 0 -75.5 -21t-81.5 -69v-362h-44z" /> -<glyph unicode="o" horiz-adv-x="535" d="M267 -12q-90 0 -152.5 68t-62.5 183q0 116 62.5 184.5t152.5 68.5q91 0 153.5 -68.5t62.5 -184.5q0 -115 -62.5 -183t-153.5 -68zM267 27q73 0 121.5 59t48.5 153t-48.5 154t-121.5 60t-121 -59.5t-48 -154.5q0 -94 48 -153t121 -59z" /> -<glyph unicode="p" horiz-adv-x="544" d="M92 -217v697h38l4 -60h3q91 72 163 72q94 0 143 -65.5t49 -179.5q0 -118 -62 -188.5t-150 -70.5q-64 0 -144 59v-264h-44zM278 27q73 0 120 61.5t47 158.5q0 95 -37 150.5t-115 55.5q-67 0 -157 -79v-285q76 -62 142 -62z" /> -<glyph unicode="q" horiz-adv-x="544" d="M408 -217v185l2 95q-79 -75 -159 -75q-92 0 -145.5 65.5t-53.5 185.5q0 113 62.5 183t150.5 70q71 0 143 -56h2l5 44h37v-697h-44zM257 27q72 0 151 79v285q-70 62 -140 62q-72 0 -120.5 -61.5t-48.5 -152.5q0 -97 41.5 -154.5t116.5 -57.5z" /> -<glyph unicode="r" horiz-adv-x="317" d="M92 0v480h38l4 -89h3q55 101 136 101q28 0 48 -10l-10 -40q-21 8 -44 8q-80 0 -131 -123v-327h-44z" /> -<glyph unicode="s" horiz-adv-x="405" d="M208 -12q-97 0 -176 66l26 33q74 -61 153 -61q54 0 84 27.5t30 67.5q0 28 -19.5 50t-41 32.5t-56.5 23.5q-29 10 -45 16.5t-40 19t-36 25.5t-22 32.5t-10 43.5q0 55 41.5 91.5t113.5 36.5q77 0 137 -50l-24 -31q-57 43 -115 43q-52 0 -80 -25.5t-28 -61.5q0 -20 8.5 -35 t27.5 -27t34 -18.5t43 -16.5q83 -31 109 -51q47 -37 48 -96q0 -57 -43.5 -96t-118.5 -39z" /> -<glyph unicode="t" horiz-adv-x="312" d="M223 -12q-66 0 -93 37.5t-27 107.5v309h-75v34l76 4l6 139h38v-139h139v-38h-139v-313q0 -50 17.5 -76t63.5 -26q28 0 60 15l12 -36q-50 -18 -78 -18z" /> -<glyph unicode="u" horiz-adv-x="529" d="M230 -12q-74 0 -109.5 45.5t-35.5 138.5v308h44v-302q0 -77 26 -113.5t83 -36.5q42 0 77 23t78 75v354h44v-480h-37l-5 80h-2q-79 -92 -163 -92z" /> -<glyph unicode="v" horiz-adv-x="434" d="M192 0l-180 480h48l108 -301q9 -26 26 -74t22 -64h4q23 63 49 138l108 301h45l-178 -480h-52z" /> -<glyph unicode="w" horiz-adv-x="685" d="M166 0l-142 480h48l86 -311q22 -80 33 -128h4q5 19 10.5 40t13 47t11.5 41l87 311h53l87 -311q7 -25 19.5 -69.5t16.5 -58.5h4q5 19 16.5 61.5t17.5 66.5l85 311h45l-138 -480h-58l-84 298q-7 24 -18.5 69t-18.5 68h-4q-19 -80 -38 -139l-83 -296h-53z" /> -<glyph unicode="x" horiz-adv-x="407" d="M14 0l163 251l-150 229h49l78 -122q30 -48 51 -79h4q8 13 24 39.5t25 39.5l75 122h46l-149 -233l163 -247h-49l-85 131q-31 51 -57 88h-4q-11 -16 -30.5 -48t-24.5 -40l-82 -131h-47z" /> -<glyph unicode="y" horiz-adv-x="436" d="M73 -219q-27 0 -49 10l10 39q20 -8 39 -8q81 0 123 127l13 42l-197 489h48l116 -302q38 -101 52 -134h4q5 14 44 134l103 302h45l-190 -540q-53 -159 -161 -159z" /> -<glyph unicode="z" horiz-adv-x="404" d="M27 0v24l284 418h-253v38h310v-23l-283 -418h293v-39h-351z" /> -<glyph unicode="{" horiz-adv-x="279" d="M224 -152q-58 0 -84.5 27.5t-26.5 100.5q0 38 4 104.5t4 100.5q0 81 -86 81v32q86 0 86 79q0 35 -4 102.5t-4 104.5q0 73 26.5 100.5t84.5 27.5h34v-29h-31q-44 0 -60.5 -24t-16.5 -79q0 -32 3 -93.5t3 -98.5q0 -46 -11 -70.5t-40 -33.5v-4q29 -9 40 -34t11 -70 q0 -37 -3 -98.5t-3 -93.5q0 -55 16.5 -79t60.5 -24h31v-29h-34z" /> -<glyph unicode="|" horiz-adv-x="226" d="M95 -250v1000h36v-1000h-36z" /> -<glyph unicode="}" horiz-adv-x="279" d="M21 -152v29h31q44 0 60.5 24t16.5 79q0 32 -3 93.5t-3 98.5q0 88 51 104v4q-28 9 -39.5 33.5t-11.5 70.5q0 37 3 98.5t3 93.5q0 55 -16.5 79t-60.5 24h-31v29h34q58 0 84.5 -27.5t26.5 -100.5q0 -37 -4 -104.5t-4 -102.5q0 -79 86 -79v-32q-86 0 -86 -81q0 -34 4 -100.5 t4 -104.5q0 -73 -26.5 -100.5t-84.5 -27.5h-34z" /> -<glyph unicode="~" d="M329 266q-33 0 -66 22.5t-62 45t-53 22.5q-47 0 -79 -63l-29 18q43 83 110 83q33 0 66 -22.5t62 -45t53 -22.5q47 0 79 63l28 -20q-20 -39 -49.5 -60t-59.5 -21z" /> -<glyph unicode="¡" horiz-adv-x="259" d="M107 -190v71l6 420h33l6 -420l1 -71h-46zM130 401q-18 0 -30.5 12.5t-12.5 34.5q0 19 13 31.5t30 12.5t29.5 -12t12.5 -32q0 -22 -12.5 -34.5t-29.5 -12.5z" /> -<glyph unicode="¢" d="M107 311q0 -78 40 -129t108 -61v381q-66 -11 -107 -62.5t-41 -128.5zM255 -28v109q-87 8 -140 69t-53 161t54.5 160.5t138.5 69.5v111h34v-109q75 -2 135 -60l-24 -28q-54 49 -111 49v-385q66 3 123 54l23 -29q-66 -61 -146 -64v-108h-34z" /> -<glyph unicode="£" d="M57 0v27q53 30 79.5 81.5t26.5 112.5q0 31 -9 72h-100v33l66 3h24q-2 9 -8.5 29.5t-9.5 31.5t-7 28.5t-5.5 32.5t-1.5 30q0 79 45.5 124.5t124.5 45.5q88 0 144 -71l-29 -27q-50 59 -115 59q-59 0 -92 -37t-33 -94q0 -19 3.5 -40t7 -35t11 -40t10.5 -37h165v-36h-157 q8 -37 8 -72q0 -108 -72 -177v-4h295v-40h-371z" /> -<glyph unicode="¤" d="M57 114l-26 28l65 67q-38 51 -38 119q0 71 38 122l-65 68l26 28l66 -69q49 44 116 44t116 -44l67 69l26 -28l-66 -68q38 -51 38 -122q0 -68 -37 -119l65 -67l-26 -28l-67 68q-48 -45 -116 -45q-66 0 -116 45zM239 174q57 0 97 43.5t40 110.5q0 68 -40 112t-97 44t-97 -44 t-40 -112q0 -67 40 -110.5t97 -43.5z" /> -<glyph unicode="¥" d="M216 0v165h-166v34h166v71h-166v33h152l-172 336h48l94 -193q42 -88 66 -137h4q12 23 33.5 68.5t33.5 68.5l94 193h46l-174 -336h154v-33h-168v-71h168v-34h-168v-165h-45z" /> -<glyph unicode="¦" horiz-adv-x="226" d="M95 279v471h36v-471h-36zM95 -250v470h36v-470h-36z" /> -<glyph unicode="§" d="M92 355q0 -37 24 -64.5t53.5 -41t74 -33t68.5 -35.5q39 18 57 40t18 60t-24 66.5t-53 42.5t-74 34t-68 35q-38 -22 -57 -45t-19 -59zM233 -52q-95 0 -161 63l30 28q57 -54 131 -54q45 0 72.5 24.5t27.5 60.5q0 37 -29 63t-70.5 43t-83.5 36.5t-71 54.5t-29 85 q0 83 89 131q-33 33 -33 81q0 47 35 82t100 35q75 0 140 -53l-24 -31q-57 46 -115 46q-47 0 -70.5 -22t-23.5 -54q0 -36 29 -61.5t70 -42.5t82.5 -36.5t70.5 -55.5t29 -87q0 -46 -22 -75.5t-65 -52.5q34 -34 34 -84q0 -53 -42 -88.5t-101 -35.5z" /> -<glyph unicode="¨" horiz-adv-x="535" d="M178 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5zM356 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" /> -<glyph unicode="©" horiz-adv-x="741" d="M371 -12q-133 0 -226.5 93t-93.5 241q0 147 93 238.5t227 91.5q133 0 226 -91.5t93 -238.5q0 -148 -93 -241t-226 -93zM371 19q118 0 201 85t83 218q0 132 -83 216t-201 84q-119 0 -202 -84t-83 -216q0 -133 83.5 -218t201.5 -85zM376 124q-74 0 -124.5 53.5t-50.5 144.5 q0 84 53 135.5t127 51.5q65 0 120 -55l-23 -26q-47 44 -98 44q-60 0 -98 -41.5t-38 -108.5q0 -74 36.5 -117.5t97.5 -43.5q60 0 115 50l20 -28q-33 -29 -63 -44t-74 -15z" /> -<glyph unicode="ª" horiz-adv-x="337" d="M139 398q-44 0 -70.5 24t-26.5 67q0 52 49 79.5t157 38.5q-2 92 -70 92q-54 0 -107 -37l-15 27q64 42 126 42q103 0 103 -125v-200h-30l-6 39h-4q-55 -47 -106 -47zM148 430q48 0 100 49v102q-90 -10 -128.5 -32t-38.5 -57q0 -62 67 -62z" /> -<glyph unicode="«" horiz-adv-x="399" d="M180 72l-137 161v38l137 161l25 -21l-123 -159l123 -161zM321 72l-137 161v38l137 161l25 -21l-123 -159l123 -161z" /> -<glyph unicode="¬" d="M404 110v201h-370v38h411v-239h-41z" /> -<glyph unicode="­" horiz-adv-x="299" d="M40 230v39h220v-39h-220z" /> -<glyph unicode="®" horiz-adv-x="401" d="M200 324q-76 0 -129 54t-53 139q0 86 53 140.5t129 54.5q77 0 129.5 -54.5t52.5 -140.5q0 -85 -52.5 -139t-129.5 -54zM200 353q64 0 107.5 46.5t43.5 117.5t-44 119t-107 48t-107 -48t-44 -119t43.5 -117.5t107.5 -46.5zM132 418v206h69q77 0 77 -64q0 -19 -11.5 -35 t-28.5 -21l49 -86h-37l-39 76h-47v-76h-32zM164 521h29q51 0 51 37q0 38 -48 38h-32v-75z" /> -<glyph unicode="¯" horiz-adv-x="535" d="M144 606v36h246v-36h-246z" /> -<glyph unicode="°" horiz-adv-x="311" d="M156 447q-47 0 -80.5 32.5t-33.5 85.5q0 54 33.5 86.5t80.5 32.5t80.5 -32.5t33.5 -86.5q0 -53 -33.5 -85.5t-80.5 -32.5zM156 479q35 0 57.5 24.5t22.5 61.5q0 38 -22.5 63t-57.5 25t-57.5 -25t-22.5 -63q0 -37 22.5 -61.5t57.5 -24.5z" /> -<glyph unicode="±" d="M219 109v201h-185v37h185v203h41v-203h185v-37h-185v-201h-41zM34 0v37h411v-37h-411z" /> -<glyph unicode="²" horiz-adv-x="362" d="M56 406v25q111 103 152 153.5t41 96.5q0 43 -23.5 68t-62.5 25q-51 0 -91 -62l-25 23q19 31 51.5 52t68.5 21q56 0 88.5 -31.5t32.5 -91.5q0 -23 -8.5 -47t-17.5 -40.5t-35.5 -46.5t-40 -43.5l-53.5 -53.5l-14 -14h192v-34h-255z" /> -<glyph unicode="³" horiz-adv-x="362" d="M177 394q-86 0 -137 75l29 22q40 -64 109 -64q38 0 64.5 22.5t26.5 60.5t-37 59t-101 21v28q56 0 89 24.5t33 59.5q0 33 -22.5 53t-60.5 20q-47 0 -89 -52l-25 22q49 63 118 63q50 0 84 -28t34 -75q0 -69 -75 -99q38 -7 64.5 -32.5t26.5 -64.5q0 -53 -37.5 -84t-93.5 -31 z" /> -<glyph unicode="´" horiz-adv-x="535" d="M238 574l-24 23l134 157l34 -29z" /> -<glyph unicode="µ" horiz-adv-x="543" d="M92 -180v660h44v-302q0 -150 106 -150q44 0 80 22t75 89v341h44q0 -47 -1 -132t-1.5 -154.5t-0.5 -129.5q0 -37 30 -37q12 0 28 6l8 -36q-20 -9 -42 -9q-35 0 -49 23.5t-14 77.5h-3q-59 -100 -151 -100q-40 0 -67.5 13t-45.5 47q0 -148 5 -229h-45z" /> -<glyph unicode="¶" horiz-adv-x="515" d="M373 -80v739h46v-739h-46zM291 244q-117 0 -183 50t-66 157q0 108 62 158t171 50h44v-415h-28z" /> -<glyph unicode="·" horiz-adv-x="219" d="M110 277q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5z" /> -<glyph unicode="¸" horiz-adv-x="535" d="M199 -219l-7 30q63 4 88 17t25 36q0 22 -18 33.5t-60 17.5l41 87h35l-30 -67q71 -18 71 -69q0 -76 -145 -85z" /> -<glyph unicode="¹" horiz-adv-x="362" d="M176 406v324h-82v27q53 11 87 39h33v-390h-38z" /> -<glyph unicode="º" horiz-adv-x="360" d="M179 398q-63 0 -104.5 45t-41.5 122t41.5 121.5t104.5 44.5t104.5 -44.5t41.5 -121.5t-41.5 -122t-104.5 -45zM179 431q48 0 77.5 37t29.5 97t-29 97t-78 37q-48 0 -77.5 -37t-29.5 -97q0 -59 29.5 -96.5t77.5 -37.5z" /> -<glyph unicode="»" horiz-adv-x="399" d="M78 72l-24 19l122 161l-122 159l24 21l138 -161v-38zM219 72l-24 19l122 161l-122 159l24 21l138 -161v-38z" /> -<glyph unicode="¼" horiz-adv-x="764" d="M155 269v324h-82v27q53 11 87 39h33v-390h-38zM177 -12l368 683h38l-367 -683h-39zM625 0v114h-177v21l177 255h36v-244h58v-32h-58v-114h-36zM496 146h129v87l4 104h-4l-56 -83z" /> -<glyph unicode="½" horiz-adv-x="786" d="M155 269v324h-82v27q53 11 87 39h33v-390h-38zM154 -12l368 683h38l-367 -683h-39zM480 0v25q111 103 152 153.5t41 96.5q0 43 -23.5 68t-62.5 25q-51 0 -91 -62l-25 23q19 31 51.5 52t68.5 21q56 0 88.5 -31.5t32.5 -91.5q0 -23 -8.5 -47t-17.5 -40.5t-35.5 -46.5 t-40 -43.5l-53.5 -53.5l-14 -14h192v-34h-255z" /> -<glyph unicode="¾" horiz-adv-x="783" d="M177 257q-86 0 -137 75l29 22q40 -64 109 -64q38 0 64.5 22.5t26.5 60.5t-37 59t-101 21v28q56 0 89 24.5t33 59.5q0 33 -22.5 53t-60.5 20q-47 0 -89 -52l-25 22q49 63 118 63q50 0 84 -28t34 -75q0 -69 -75 -99q38 -7 64.5 -32.5t26.5 -64.5q0 -53 -37.5 -84t-93.5 -31 zM224 -12l368 683h38l-367 -683h-39zM644 0v114h-177v21l177 255h36v-244h58v-32h-58v-114h-36zM515 146h129v87l4 104h-4l-56 -83z" /> -<glyph unicode="¿" horiz-adv-x="402" d="M206 -202q-72 0 -113.5 43t-41.5 110q0 37 17 73t40.5 66t46.5 60.5t36 69.5t8 81h41q6 -46 -6.5 -87t-35 -72t-45.5 -59.5t-40 -62t-17 -66.5q0 -50 29 -83.5t85 -33.5q75 0 128 64l28 -25q-71 -78 -160 -78zM216 401q-17 0 -29.5 12.5t-12.5 34.5q0 20 12.5 32t29.5 12 t29.5 -12t12.5 -32q0 -22 -12.5 -34.5t-29.5 -12.5z" /> -<glyph unicode="À" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46zM284 706l-133 113l28 33l125 -123z" /> -<glyph unicode="Á" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46zM242 706l-20 23l125 123l28 -33z" /> -<glyph unicode="Â" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46zM128 726l113 113h44l113 -113l-20 -19l-113 98h-4l-113 -98z" /> -<glyph unicode="Ã" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46zM340 718q-26 0 -49 12.5t-36.5 27t-32 27t-36.5 12.5q-22 0 -37 -20.5t-18 -55.5l-33 3q2 48 25.5 79t62.5 31q26 0 49 -12.5t36.5 -27 t32 -27t36.5 -12.5q21 0 35.5 20.5t19.5 56.5l33 -3q-2 -48 -25.5 -79.5t-62.5 -31.5z" /> -<glyph unicode="Ä" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46zM165 725q-16 0 -26 10t-10 26q0 17 10 27t26 10t26.5 -10t10.5 -27q0 -16 -10.5 -26t-26.5 -10zM361 725q-16 0 -26.5 10t-10.5 26 q0 17 10.5 27t26.5 10t26 -10t10 -27q0 -16 -10 -26t-26 -10z" /> -<glyph unicode="Å" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46zM263 700q-38 0 -63 23.5t-25 61.5q0 39 25 62.5t63 23.5q37 0 62.5 -23.5t25.5 -62.5q0 -37 -25.5 -61t-62.5 -24zM263 726q24 0 40 15.5 t16 43.5q0 27 -16.5 43.5t-39.5 16.5q-25 0 -41.5 -16t-16.5 -44t16.5 -43.5t41.5 -15.5z" /> -<glyph unicode="Æ" horiz-adv-x="809" d="M283 388l-73 -133h201v364h-4q-29 -53 -124 -231zM21 0l365 659h366v-40h-295v-249h245v-40h-245v-290h305v-40h-351v217h-222l-119 -217h-49z" /> -<glyph unicode="Ç" horiz-adv-x="564" d="M262 -219l-7 30q63 4 88 17t25 36q0 22 -18 33.5t-60 17.5l34 73q-120 3 -194.5 96t-74.5 247q0 156 77.5 248t203.5 92q105 0 172 -79l-27 -31q-60 68 -144 68q-109 0 -171.5 -80t-62.5 -218t62 -219.5t168 -81.5q94 0 167 81l27 -29q-73 -83 -167 -92l-24 -55 q71 -18 71 -69q0 -76 -145 -85z" /> -<glyph unicode="È" horiz-adv-x="515" d="M97 0v659h361v-40h-315v-249h264v-40h-264v-290h325v-40h-371zM303 706l-133 113l28 33l125 -123z" /> -<glyph unicode="É" horiz-adv-x="515" d="M97 0v659h361v-40h-315v-249h264v-40h-264v-290h325v-40h-371zM261 706l-20 23l125 123l28 -33z" /> -<glyph unicode="Ê" horiz-adv-x="515" d="M97 0v659h361v-40h-315v-249h264v-40h-264v-290h325v-40h-371zM147 726l113 113h44l113 -113l-20 -19l-113 98h-4l-113 -98z" /> -<glyph unicode="Ë" horiz-adv-x="515" d="M97 0v659h361v-40h-315v-249h264v-40h-264v-290h325v-40h-371zM184 725q-16 0 -26 10t-10 26q0 17 10 27t26 10t26.5 -10t10.5 -27q0 -16 -10.5 -26t-26.5 -10zM380 725q-16 0 -26.5 10t-10.5 26q0 17 10.5 27t26.5 10t26 -10t10 -27q0 -16 -10 -26t-26 -10z" /> -<glyph unicode="Ì" horiz-adv-x="240" d="M97 0v659h46v-659h-46zM141 706l-133 113l28 33l125 -123z" /> -<glyph unicode="Í" horiz-adv-x="240" d="M97 0v659h46v-659h-46zM99 706l-20 23l125 123l28 -33z" /> -<glyph unicode="Î" horiz-adv-x="240" d="M97 0v659h46v-659h-46zM-15 726l113 113h44l113 -113l-20 -19l-113 98h-4l-113 -98z" /> -<glyph unicode="Ï" horiz-adv-x="240" d="M97 0v659h46v-659h-46zM22 725q-16 0 -26 10t-10 26q0 17 10 27t26 10t26.5 -10t10.5 -27q0 -16 -10.5 -26t-26.5 -10zM218 725q-16 0 -26.5 10t-10.5 26q0 17 10.5 27t26.5 10t26 -10t10 -27q0 -16 -10 -26t-26 -10z" /> -<glyph unicode="Ð" horiz-adv-x="625" d="M37 332v31l81 2v294h153q148 0 223.5 -86.5t75.5 -240.5q0 -155 -75.5 -243.5t-222.5 -88.5h-154v332h-81zM164 39h102q129 0 192.5 79t63.5 214q0 134 -63.5 211t-192.5 77h-102v-255h163v-33h-163v-293z" /> -<glyph unicode="Ñ" horiz-adv-x="636" d="M97 0v659h48l278 -465l74 -131h4l-6 192v404h44v-659h-48l-278 465l-74 131h-4q1 -21 2.5 -58.5t2.5 -69t1 -59.5v-409h-44zM400 718q-26 0 -49 12.5t-36.5 27t-32 27t-36.5 12.5q-22 0 -37 -20.5t-18 -55.5l-33 3q2 48 25.5 79t62.5 31q26 0 49 -12.5t36.5 -27t32 -27 t36.5 -12.5q21 0 35.5 20.5t19.5 56.5l33 -3q-2 -48 -25.5 -79.5t-62.5 -31.5z" /> -<glyph unicode="Ò" horiz-adv-x="652" d="M326 -12q-120 0 -195.5 94.5t-75.5 249.5q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -155 -76 -249.5t-196 -94.5zM326 30q101 0 162 82.5t61 219.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -137 61 -219.5t162 -82.5zM347 706l-133 113 l28 33l125 -123z" /> -<glyph unicode="Ó" horiz-adv-x="652" d="M326 -12q-120 0 -195.5 94.5t-75.5 249.5q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -155 -76 -249.5t-196 -94.5zM326 30q101 0 162 82.5t61 219.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -137 61 -219.5t162 -82.5zM305 706l-20 23 l125 123l28 -33z" /> -<glyph unicode="Ô" horiz-adv-x="652" d="M326 -12q-120 0 -195.5 94.5t-75.5 249.5q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -155 -76 -249.5t-196 -94.5zM326 30q101 0 162 82.5t61 219.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -137 61 -219.5t162 -82.5zM191 726l113 113 h44l113 -113l-20 -19l-113 98h-4l-113 -98z" /> -<glyph unicode="Õ" horiz-adv-x="652" d="M326 -12q-120 0 -195.5 94.5t-75.5 249.5q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -155 -76 -249.5t-196 -94.5zM326 30q101 0 162 82.5t61 219.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -137 61 -219.5t162 -82.5zM403 718 q-26 0 -49 12.5t-36.5 27t-32 27t-36.5 12.5q-22 0 -37 -20.5t-18 -55.5l-33 3q2 48 25.5 79t62.5 31q26 0 49 -12.5t36.5 -27t32 -27t36.5 -12.5q21 0 35.5 20.5t19.5 56.5l33 -3q-2 -48 -25.5 -79.5t-62.5 -31.5z" /> -<glyph unicode="Ö" horiz-adv-x="652" d="M326 -12q-120 0 -195.5 94.5t-75.5 249.5q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -155 -76 -249.5t-196 -94.5zM326 30q101 0 162 82.5t61 219.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -137 61 -219.5t162 -82.5zM228 725 q-16 0 -26 10t-10 26q0 17 10 27t26 10t26.5 -10t10.5 -27q0 -16 -10.5 -26t-26.5 -10zM424 725q-16 0 -26.5 10t-10.5 26q0 17 10.5 27t26.5 10t26 -10t10 -27q0 -16 -10 -26t-26 -10z" /> -<glyph unicode="×" d="M78 135l-26 28l161 167l-161 167l26 28l161 -169l162 169l26 -28l-161 -167l161 -167l-26 -28l-162 168z" /> -<glyph unicode="Ø" horiz-adv-x="652" d="M330 -12q-106 0 -180 77l-66 -88l-28 22l70 94q-67 94 -67 239q0 154 75.5 246.5t195.5 92.5q103 0 176 -70l60 81l29 -22l-65 -86q72 -92 72 -242q0 -155 -76 -249.5t-196 -94.5zM107 332q0 -121 48 -200l323 433q-59 64 -148 64q-101 0 -162 -80.5t-61 -216.5zM330 30 q101 0 162 82.5t61 219.5q0 123 -52 203l-324 -434q60 -71 153 -71z" /> -<glyph unicode="Ù" horiz-adv-x="634" d="M316 -12q-45 0 -82.5 13t-70 42t-50.5 82.5t-18 127.5v406h46v-401q0 -122 48.5 -175t126.5 -53q80 0 130 53t50 175v401h43v-406q0 -74 -18.5 -127.5t-51 -82.5t-70 -42t-83.5 -13zM338 706l-133 113l28 33l125 -123z" /> -<glyph unicode="Ú" horiz-adv-x="634" d="M316 -12q-45 0 -82.5 13t-70 42t-50.5 82.5t-18 127.5v406h46v-401q0 -122 48.5 -175t126.5 -53q80 0 130 53t50 175v401h43v-406q0 -74 -18.5 -127.5t-51 -82.5t-70 -42t-83.5 -13zM296 706l-20 23l125 123l28 -33z" /> -<glyph unicode="Û" horiz-adv-x="634" d="M316 -12q-45 0 -82.5 13t-70 42t-50.5 82.5t-18 127.5v406h46v-401q0 -122 48.5 -175t126.5 -53q80 0 130 53t50 175v401h43v-406q0 -74 -18.5 -127.5t-51 -82.5t-70 -42t-83.5 -13zM182 726l113 113h44l113 -113l-20 -19l-113 98h-4l-113 -98z" /> -<glyph unicode="Ü" horiz-adv-x="634" d="M316 -12q-45 0 -82.5 13t-70 42t-50.5 82.5t-18 127.5v406h46v-401q0 -122 48.5 -175t126.5 -53q80 0 130 53t50 175v401h43v-406q0 -74 -18.5 -127.5t-51 -82.5t-70 -42t-83.5 -13zM219 725q-16 0 -26 10t-10 26q0 17 10 27t26 10t26.5 -10t10.5 -27q0 -16 -10.5 -26 t-26.5 -10zM415 725q-16 0 -26.5 10t-10.5 26q0 17 10.5 27t26.5 10t26 -10t10 -27q0 -16 -10 -26t-26 -10z" /> -<glyph unicode="Ý" horiz-adv-x="447" d="M200 0v267l-197 392h49l100 -206q53 -111 70 -142h4q55 107 71 142l100 206h47l-198 -392v-267h-46zM202 706l-20 23l125 123l28 -33z" /> -<glyph unicode="Þ" horiz-adv-x="563" d="M97 0v659h46v-117h134q115 0 175 -43t60 -141q0 -95 -61.5 -143.5t-173.5 -48.5h-134v-166h-46zM143 205h123q102 0 150.5 36.5t48.5 116.5t-47.5 112.5t-151.5 32.5h-123v-298z" /> -<glyph unicode="ß" horiz-adv-x="542" d="M367 -12q-73 0 -136 51l22 33q56 -46 114 -46q48 0 74.5 29t26.5 70q0 38 -21.5 64.5t-52 42t-61.5 31.5t-52.5 43t-21.5 67q0 32 15.5 62t33.5 49.5t33.5 48t15.5 58.5q0 45 -24.5 72.5t-70.5 27.5q-59 0 -92.5 -43.5t-33.5 -130.5v-517h-44v532q0 91 46.5 144t124.5 53 q64 0 101.5 -38t37.5 -96q0 -35 -15.5 -66.5t-34 -51.5t-34 -47t-15.5 -53q0 -31 21.5 -53t52.5 -37t62 -32t52.5 -49.5t21.5 -78.5q0 -60 -41.5 -99.5t-104.5 -39.5z" /> -<glyph unicode="à" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5zM284 574l-144 151l34 29l134 -157z" /> -<glyph unicode="á" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5zM226 574l-24 23l134 157l34 -29z" /> -<glyph unicode="â" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5zM117 593l117 144h42l117 -144l-22 -21l-114 126h-4l-114 -126z" /> -<glyph unicode="ã" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5zM331 579q-26 0 -48 15t-35.5 33t-32 33t-36.5 15q-49 0 -54 -93l-34 2q8 126 89 126q32 0 58 -24t48.5 -48t45.5 -24q47 0 53 93l34 -2q-8 -126 -88 -126z" /> -<glyph unicode="ä" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5zM166 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5zM344 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" /> -<glyph unicode="å" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5zM255 548q-42 0 -69.5 26.5t-27.5 68.5t27.5 69t69.5 27t69.5 -27t27.5 -69t-27.5 -68.5t-69.5 -26.5zM255 574q28 0 46.5 19t18.5 50q0 32 -18.5 51t-46.5 19t-46.5 -19t-18.5 -51q0 -31 18.5 -50t46.5 -19z" /> -<glyph unicode="æ" horiz-adv-x="784" d="M205 -12q-61 0 -100.5 33.5t-39.5 97.5q0 79 73.5 121.5t231.5 60.5q2 152 -113 152q-73 0 -148 -56l-20 33q88 62 172 62q57 0 92.5 -31.5t47.5 -88.5q27 56 71 88t96 32q84 0 131 -58t47 -164q0 -24 -2 -36h-332q0 -90 49 -148.5t122 -58.5q65 0 125 43l19 -35 q-25 -15 -40.5 -23t-45 -16t-62.5 -8q-101 0 -172 99q-47 -45 -102 -72t-100 -27zM212 26q40 0 89.5 25t89.5 68q-21 43 -21 121l-1 27q-138 -17 -198 -51.5t-60 -93.5q0 -49 28 -72.5t73 -23.5zM412 268h293q0 91 -36.5 138.5t-101.5 47.5q-60 0 -104 -52t-51 -134z" /> -<glyph unicode="ç" horiz-adv-x="449" d="M188 -219l-7 30q63 4 88 17t25 36q0 22 -18 33.5t-60 17.5l35 74q-89 7 -144 73t-55 177q0 116 63.5 184.5t155.5 68.5q76 0 141 -59l-26 -31q-55 51 -114 51q-74 0 -124 -60t-50 -154q0 -95 48 -153.5t126 -58.5q68 0 128 55l23 -31q-63 -57 -137 -62l-24 -54 q71 -18 71 -69q0 -76 -145 -85z" /> -<glyph unicode="è" horiz-adv-x="483" d="M274 -12q-95 0 -158.5 68t-63.5 183q0 113 62.5 183t146.5 70q86 0 135 -58.5t49 -163.5q0 -24 -2 -36h-346q2 -92 51.5 -150t129.5 -58q69 0 129 43l18 -34q-78 -47 -151 -47zM97 270h306q0 90 -37.5 137t-103.5 47q-64 0 -111 -50t-54 -134zM290 574l-144 151l34 29 l134 -157z" /> -<glyph unicode="é" horiz-adv-x="483" d="M274 -12q-95 0 -158.5 68t-63.5 183q0 113 62.5 183t146.5 70q86 0 135 -58.5t49 -163.5q0 -24 -2 -36h-346q2 -92 51.5 -150t129.5 -58q69 0 129 43l18 -34q-78 -47 -151 -47zM97 270h306q0 90 -37.5 137t-103.5 47q-64 0 -111 -50t-54 -134zM232 574l-24 23l134 157 l34 -29z" /> -<glyph unicode="ê" horiz-adv-x="483" d="M274 -12q-95 0 -158.5 68t-63.5 183q0 113 62.5 183t146.5 70q86 0 135 -58.5t49 -163.5q0 -24 -2 -36h-346q2 -92 51.5 -150t129.5 -58q69 0 129 43l18 -34q-78 -47 -151 -47zM97 270h306q0 90 -37.5 137t-103.5 47q-64 0 -111 -50t-54 -134zM123 593l117 144h42 l117 -144l-22 -21l-114 126h-4l-114 -126z" /> -<glyph unicode="ë" horiz-adv-x="483" d="M274 -12q-95 0 -158.5 68t-63.5 183q0 113 62.5 183t146.5 70q86 0 135 -58.5t49 -163.5q0 -24 -2 -36h-346q2 -92 51.5 -150t129.5 -58q69 0 129 43l18 -34q-78 -47 -151 -47zM97 270h306q0 90 -37.5 137t-103.5 47q-64 0 -111 -50t-54 -134zM172 598q-16 0 -26.5 10.5 t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5zM350 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" /> -<glyph unicode="ì" horiz-adv-x="229" d="M92 0v480h44v-480h-44zM143 574l-144 151l34 29l134 -157z" /> -<glyph unicode="í" horiz-adv-x="229" d="M92 0v480h44v-480h-44zM85 574l-24 23l134 157l34 -29z" /> -<glyph unicode="î" horiz-adv-x="229" d="M92 0v480h44v-480h-44zM-24 593l117 144h42l117 -144l-22 -21l-114 126h-4l-114 -126z" /> -<glyph unicode="ï" horiz-adv-x="229" d="M92 0v480h44v-480h-44zM25 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5zM203 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" /> -<glyph unicode="ð" horiz-adv-x="535" d="M267 -12q-84 0 -145.5 63.5t-61.5 167.5q0 99 57.5 161t149.5 62q90 0 148 -76q-24 132 -116 222l-142 -73l-15 27l132 68q-48 41 -123 84l22 30q80 -42 138 -95l142 74l15 -27l-134 -69q136 -138 136 -355q0 -119 -56 -191.5t-147 -72.5zM267 27q78 0 118 62.5t40 161.5 q0 32 -3 62q-62 91 -153 91q-78 0 -121.5 -53t-43.5 -132q0 -83 47.5 -137.5t115.5 -54.5z" /> -<glyph unicode="ñ" horiz-adv-x="532" d="M92 0v480h38l4 -74h3q86 86 165 86q74 0 109.5 -45.5t35.5 -138.5v-308h-44v302q0 77 -26 113.5t-84 36.5q-41 0 -75.5 -21t-81.5 -69v-362h-44zM359 579q-26 0 -48 15t-35.5 33t-32 33t-36.5 15q-49 0 -54 -93l-34 2q8 126 89 126q32 0 58 -24t48.5 -48t45.5 -24 q47 0 53 93l34 -2q-8 -126 -88 -126z" /> -<glyph unicode="ò" horiz-adv-x="535" d="M267 -12q-90 0 -152.5 68t-62.5 183q0 116 62.5 184.5t152.5 68.5q91 0 153.5 -68.5t62.5 -184.5q0 -115 -62.5 -183t-153.5 -68zM267 27q73 0 121.5 59t48.5 153t-48.5 154t-121.5 60t-121 -59.5t-48 -154.5q0 -94 48 -153t121 -59zM296 574l-144 151l34 29l134 -157z " /> -<glyph unicode="ó" horiz-adv-x="535" d="M267 -12q-90 0 -152.5 68t-62.5 183q0 116 62.5 184.5t152.5 68.5q91 0 153.5 -68.5t62.5 -184.5q0 -115 -62.5 -183t-153.5 -68zM267 27q73 0 121.5 59t48.5 153t-48.5 154t-121.5 60t-121 -59.5t-48 -154.5q0 -94 48 -153t121 -59zM238 574l-24 23l134 157l34 -29z" /> -<glyph unicode="ô" horiz-adv-x="535" d="M267 -12q-90 0 -152.5 68t-62.5 183q0 116 62.5 184.5t152.5 68.5q91 0 153.5 -68.5t62.5 -184.5q0 -115 -62.5 -183t-153.5 -68zM267 27q73 0 121.5 59t48.5 153t-48.5 154t-121.5 60t-121 -59.5t-48 -154.5q0 -94 48 -153t121 -59zM129 593l117 144h42l117 -144 l-22 -21l-114 126h-4l-114 -126z" /> -<glyph unicode="õ" horiz-adv-x="535" d="M267 -12q-90 0 -152.5 68t-62.5 183q0 116 62.5 184.5t152.5 68.5q91 0 153.5 -68.5t62.5 -184.5q0 -115 -62.5 -183t-153.5 -68zM267 27q73 0 121.5 59t48.5 153t-48.5 154t-121.5 60t-121 -59.5t-48 -154.5q0 -94 48 -153t121 -59zM343 579q-26 0 -48 15t-35.5 33 t-32 33t-36.5 15q-49 0 -54 -93l-34 2q8 126 89 126q32 0 58 -24t48.5 -48t45.5 -24q47 0 53 93l34 -2q-8 -126 -88 -126z" /> -<glyph unicode="ö" horiz-adv-x="535" d="M267 -12q-90 0 -152.5 68t-62.5 183q0 116 62.5 184.5t152.5 68.5q91 0 153.5 -68.5t62.5 -184.5q0 -115 -62.5 -183t-153.5 -68zM267 27q73 0 121.5 59t48.5 153t-48.5 154t-121.5 60t-121 -59.5t-48 -154.5q0 -94 48 -153t121 -59zM178 598q-16 0 -26.5 10.5 t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5zM356 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" /> -<glyph unicode="÷" d="M34 311v38h411v-38h-411zM239 109q-16 0 -27 11.5t-11 29.5q0 17 11 28t27 11q17 0 27.5 -11t10.5 -28q0 -19 -10.5 -30t-27.5 -11zM239 469q-16 0 -27 11.5t-11 29.5q0 17 11 28t27 11q17 0 27.5 -11t10.5 -28q0 -19 -10.5 -30t-27.5 -11z" /> -<glyph unicode="ø" horiz-adv-x="535" d="M267 -12q-82 0 -141 56l-54 -66l-26 21l58 70q-52 68 -52 170q0 116 62.5 184.5t152.5 68.5q83 0 142 -56l54 65l26 -21l-58 -69q52 -70 52 -172q0 -115 -62.5 -183t-153.5 -68zM97 240q0 -81 36 -137l249 300q-46 51 -115 51q-73 0 -121.5 -60t-48.5 -154zM267 26 q74 0 122.5 59.5t48.5 152.5q0 82 -36 138l-249 -300q47 -50 114 -50z" /> -<glyph unicode="ù" horiz-adv-x="529" d="M230 -12q-74 0 -109.5 45.5t-35.5 138.5v308h44v-302q0 -77 26 -113.5t83 -36.5q42 0 77 23t78 75v354h44v-480h-37l-5 80h-2q-79 -92 -163 -92zM294 574l-144 151l34 29l134 -157z" /> -<glyph unicode="ú" horiz-adv-x="529" d="M230 -12q-74 0 -109.5 45.5t-35.5 138.5v308h44v-302q0 -77 26 -113.5t83 -36.5q42 0 77 23t78 75v354h44v-480h-37l-5 80h-2q-79 -92 -163 -92zM236 574l-24 23l134 157l34 -29z" /> -<glyph unicode="û" horiz-adv-x="529" d="M230 -12q-74 0 -109.5 45.5t-35.5 138.5v308h44v-302q0 -77 26 -113.5t83 -36.5q42 0 77 23t78 75v354h44v-480h-37l-5 80h-2q-79 -92 -163 -92zM127 593l117 144h42l117 -144l-22 -21l-114 126h-4l-114 -126z" /> -<glyph unicode="ü" horiz-adv-x="529" d="M230 -12q-74 0 -109.5 45.5t-35.5 138.5v308h44v-302q0 -77 26 -113.5t83 -36.5q42 0 77 23t78 75v354h44v-480h-37l-5 80h-2q-79 -92 -163 -92zM176 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5zM354 598 q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" /> -<glyph unicode="ý" horiz-adv-x="436" d="M73 -219q-27 0 -49 10l10 39q20 -8 39 -8q81 0 123 127l13 42l-197 489h48l116 -302q38 -101 52 -134h4q5 14 44 134l103 302h45l-190 -540q-53 -159 -161 -159zM200 574l-24 23l134 157l34 -29z" /> -<glyph unicode="þ" horiz-adv-x="544" d="M92 -217v936h44v-298q92 71 163 71q95 0 144 -65t49 -180q0 -118 -62 -188.5t-150 -70.5q-66 0 -144 58v-263h-44zM278 27q73 0 120 61.5t47 158.5q0 95 -37 150.5t-115 55.5q-67 0 -157 -79v-285q76 -62 142 -62z" /> -<glyph unicode="ÿ" horiz-adv-x="436" d="M73 -219q-27 0 -49 10l10 39q20 -8 39 -8q81 0 123 127l13 42l-197 489h48l116 -302q38 -101 52 -134h4q5 14 44 134l103 302h45l-190 -540q-53 -159 -161 -159zM140 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5 t-26.5 -10.5zM318 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" /> -<glyph unicode="Œ" horiz-adv-x="833" d="M367 0q-152 0 -232 89t-80 243q0 153 80 240t233 87h408v-40h-295v-249h245v-40h-245v-290h305v-40h-419zM372 39h63v581h-63q-134 0 -201.5 -77t-67.5 -211t68 -213.5t201 -79.5z" /> -<glyph unicode="œ" horiz-adv-x="848" d="M263 -12q-88 0 -149.5 68t-61.5 183q0 116 61.5 184.5t149.5 68.5q60 0 110.5 -37t75.5 -105q26 66 74 104t105 38q85 0 134 -58.5t49 -163.5q0 -18 -3 -36h-337q0 -90 50 -148.5t123 -58.5q68 0 128 43l19 -35q-78 -47 -152 -47q-63 0 -113 38t-76 103 q-56 -141 -187 -141zM263 27q72 0 118.5 59t46.5 153q0 95 -46.5 154.5t-118.5 59.5q-71 0 -118 -60t-47 -154t47 -153t118 -59zM471 268h298q0 90 -38 138t-103 48q-61 0 -105.5 -52t-51.5 -134z" /> -<glyph unicode="Ÿ" horiz-adv-x="447" d="M200 0v267l-197 392h49l100 -206q53 -111 70 -142h4q55 107 71 142l100 206h47l-198 -392v-267h-46zM125 725q-16 0 -26 10t-10 26q0 17 10 27t26 10t26.5 -10t10.5 -27q0 -16 -10.5 -26t-26.5 -10zM321 725q-16 0 -26.5 10t-10.5 26q0 17 10.5 27t26.5 10t26 -10t10 -27 q0 -16 -10 -26t-26 -10z" /> -<glyph unicode="ˆ" horiz-adv-x="535" d="M129 593l117 144h42l117 -144l-22 -21l-114 126h-4l-114 -126z" /> -<glyph unicode="˜" horiz-adv-x="535" d="M343 579q-26 0 -48 15t-35.5 33t-32 33t-36.5 15q-49 0 -54 -93l-34 2q8 126 89 126q32 0 58 -24t48.5 -48t45.5 -24q47 0 53 93l34 -2q-8 -126 -88 -126z" /> -<glyph unicode=" " horiz-adv-x="435" /> -<glyph unicode=" " horiz-adv-x="871" /> -<glyph unicode=" " horiz-adv-x="435" /> -<glyph unicode=" " horiz-adv-x="871" /> -<glyph unicode=" " horiz-adv-x="290" /> -<glyph unicode=" " horiz-adv-x="217" /> -<glyph unicode=" " horiz-adv-x="145" /> -<glyph unicode=" " horiz-adv-x="145" /> -<glyph unicode=" " horiz-adv-x="108" /> -<glyph unicode=" " horiz-adv-x="174" /> -<glyph unicode=" " horiz-adv-x="48" /> -<glyph unicode="‐" horiz-adv-x="299" d="M40 230v39h220v-39h-220z" /> -<glyph unicode="‑" horiz-adv-x="299" d="M40 230v39h220v-39h-220z" /> -<glyph unicode="‒" horiz-adv-x="299" d="M40 230v39h220v-39h-220z" /> -<glyph unicode="–" horiz-adv-x="480" d="M40 232v36h400v-36h-400z" /> -<glyph unicode="—" horiz-adv-x="800" d="M40 232v36h720v-36h-720z" /> -<glyph unicode="‘" horiz-adv-x="219" d="M102 480q-20 0 -32 17.5t-12 49.5q0 100 85 156l18 -23q-35 -29 -51 -56.5t-16 -67.5q2 1 8 1q16 0 28 -9.5t12 -27.5t-11 -29t-29 -11z" /> -<glyph unicode="’" horiz-adv-x="219" d="M76 477l-18 23q35 29 51 56.5t16 67.5q-2 -1 -8 -1q-16 0 -27.5 9.5t-11.5 27.5t11 29t28 11q21 0 33 -17.5t12 -49.5q0 -100 -86 -156z" /> -<glyph unicode="‚" horiz-adv-x="219" d="M76 -131l-18 23q35 29 51 56.5t16 67.5q-2 -1 -8 -1q-16 0 -27.5 9.5t-11.5 27.5t11 29t28 11q21 0 33 -17.5t12 -49.5q0 -100 -86 -156z" /> -<glyph unicode="“" horiz-adv-x="360" d="M102 480q-20 0 -32 17.5t-12 49.5q0 100 85 156l18 -23q-35 -29 -51 -56.5t-16 -67.5q2 1 8 1q16 0 28 -9.5t12 -27.5t-11 -29t-29 -11zM243 480q-20 0 -32 17.5t-12 49.5q0 100 85 156l18 -23q-35 -29 -51 -56.5t-16 -67.5q2 1 8 1q16 0 28 -9.5t12 -27.5t-11 -29 t-29 -11z" /> -<glyph unicode="”" horiz-adv-x="360" d="M76 477l-18 23q35 29 51 56.5t16 67.5q-2 -1 -8 -1q-16 0 -27.5 9.5t-11.5 27.5t11 29t28 11q21 0 33 -17.5t12 -49.5q0 -100 -86 -156zM217 477l-18 23q35 29 51 56.5t16 67.5q-2 -1 -8 -1q-16 0 -27.5 9.5t-11.5 27.5t10.5 29t28.5 11q21 0 33 -17.5t12 -49.5 q0 -100 -86 -156z" /> -<glyph unicode="„" horiz-adv-x="360" d="M76 -131l-18 23q35 29 51 56.5t16 67.5q-2 -1 -8 -1q-16 0 -27.5 9.5t-11.5 27.5t11 29t28 11q21 0 33 -17.5t12 -49.5q0 -100 -86 -156zM217 -131l-18 23q35 29 51 56.5t16 67.5q-2 -1 -8 -1q-16 0 -27.5 9.5t-11.5 27.5t10.5 29t28.5 11q21 0 33 -17.5t12 -49.5 q0 -100 -86 -156z" /> -<glyph unicode="•" horiz-adv-x="281" d="M140 154q-40 0 -70 30.5t-30 79.5q0 48 30 79t70 31q41 0 71 -30.5t30 -79.5t-30 -79.5t-71 -30.5z" /> -<glyph unicode="…" horiz-adv-x="931" d="M147 -12q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5zM484 -12q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5zM821 -12q-17 0 -30 12.5t-13 32.5 q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5z" /> -<glyph unicode=" " horiz-adv-x="174" /> -<glyph unicode="‹" horiz-adv-x="259" d="M180 72l-137 161v38l137 161l25 -21l-123 -159l123 -161z" /> -<glyph unicode="›" horiz-adv-x="259" d="M78 72l-24 19l122 161l-122 159l24 21l138 -161v-38z" /> -<glyph unicode=" " horiz-adv-x="217" /> -<glyph unicode="€" d="M308 -12q-87 0 -145.5 69t-73.5 189h-65v29l62 4q-1 14 -1 42q0 24 1 35h-62v29l65 4q14 123 76 192.5t158 69.5q43 0 80.5 -22t60.5 -56l-29 -27q-49 67 -112 67q-79 0 -127.5 -59t-59.5 -165h278v-33h-281q-1 -11 -1 -34q0 -29 1 -43h241v-33h-238q13 -103 58.5 -161.5 t116.5 -58.5q76 0 134 81l29 -25q-68 -94 -166 -94z" /> -<glyph unicode="™" horiz-adv-x="610" d="M109 369v272h-107v35h253v-35h-108v-272h-38zM307 369v307h52l52 -126l31 -86h4l31 86l50 126h52v-307h-37v161l5 98h-4l-83 -211h-34l-83 211h-4l5 -98v-161h-37z" /> -<glyph unicode="◼" horiz-adv-x="480" d="M0 480h480v-480h-480v480z" /> -<glyph unicode="fi" horiz-adv-x="509" d="M99 0v442h-66v34l66 4v107q0 71 31 107.5t88 36.5q35 0 70 -16l-12 -36q-28 14 -58 14q-75 0 -75 -109v-104h111v-38h-111v-442h-44zM373 0v480h44v-480h-44zM396 596q-17 0 -28.5 11t-11.5 28q0 18 11.5 29t28.5 11t28.5 -11t11.5 -29q0 -17 -11.5 -28t-28.5 -11z" /> -<glyph unicode="fl" horiz-adv-x="500" d="M99 0v442h-66v34l66 4v107q0 71 31 107.5t88 36.5q35 0 70 -16l-12 -36q-28 14 -58 14q-75 0 -75 -109v-104h111v-38h-111v-442h-44zM414 -12q-59 0 -59 76v655h44v-661q0 -31 21 -31q8 0 18 2l8 -36q-15 -5 -32 -5z" /> -<glyph unicode="ffi" horiz-adv-x="758" d="M366 0v442h-223v-442h-44v442h-66v34l66 4v89q0 74 34 113t96 39q42 0 81 -18l-12 -36q-32 16 -69 16q-86 0 -86 -117v-86h223v107q0 71 30.5 107.5t87.5 36.5q35 0 70 -16l-12 -36q-27 14 -57 14q-75 0 -75 -109v-104h111v-38h-111v-442h-44zM622 0v480h44v-480h-44z M645 596q-17 0 -28.5 11t-11.5 28q0 18 11.5 29t28.5 11t28.5 -11t11.5 -29q0 -17 -11.5 -28t-28.5 -11z" /> -<glyph unicode="ffl" horiz-adv-x="766" d="M366 0v442h-223v-442h-44v442h-66v34l66 4v89q0 74 34 113t96 39q42 0 81 -18l-12 -36q-32 16 -69 16q-86 0 -86 -117v-86h223v107q0 71 30.5 107.5t87.5 36.5q35 0 70 -16l-12 -36q-27 14 -57 14q-75 0 -75 -109v-104h111v-38h-111v-442h-44zM681 -12q-59 0 -59 76v655 h44v-661q0 -31 21 -31q8 0 18 2l8 -36q-15 -5 -32 -5z" /> -<hkern u1="/" u2="ï" k="-76" /> -<hkern u1="/" u2="î" k="-76" /> -<hkern u1="/" u2="ì" k="-4" /> -<hkern u1="F" u2="ï" k="-39" /> -<hkern u1="F" u2="î" k="-37" /> -<hkern u1="V" u2="ï" k="-61" /> -<hkern u1="V" u2="î" k="-58" /> -<hkern u1="V" u2="í" k="-18" /> -<hkern u1="V" u2="ì" k="-20" /> -<hkern u1="x" u2=";" k="-2" /> -<hkern u1="x" u2="," k="-2" /> -<hkern g1="backslash" g2="Eth" k="37" /> -<hkern g1="backslash" g2="g" k="-38" /> -<hkern g1="backslash" g2="j" k="-78" /> -<hkern g1="backslash" g2="T" k="96" /> -<hkern g1="backslash" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="37" /> -<hkern g1="backslash" g2="v" k="20" /> -<hkern g1="backslash" g2="V" k="58" /> -<hkern g1="backslash" g2="w" k="10" /> -<hkern g1="backslash" g2="W" k="37" /> -<hkern g1="backslash" g2="y,yacute,ydieresis" k="-18" /> -<hkern g1="backslash" g2="Y,Yacute,Ydieresis" k="78" /> -<hkern g1="exclamdown" g2="j" k="-38" /> -<hkern g1="exclamdown" g2="V" k="20" /> -<hkern g1="exclamdown" g2="W" k="10" /> -<hkern g1="exclamdown" g2="Y,Yacute,Ydieresis" k="30" /> -<hkern g1="periodcentered" g2="T" k="61" /> -<hkern g1="periodcentered" g2="V" k="20" /> -<hkern g1="periodcentered" g2="Y,Yacute,Ydieresis" k="41" /> -<hkern g1="periodcentered" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="21" /> -<hkern g1="periodcentered" g2="S" k="21" /> -<hkern g1="periodcentered" g2="x" k="20" /> -<hkern g1="periodcentered" g2="X" k="20" /> -<hkern g1="periodcentered" g2="Z" k="41" /> -<hkern g1="questiondown" g2="j" k="-67" /> -<hkern g1="questiondown" g2="T" k="82" /> -<hkern g1="questiondown" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="31" /> -<hkern g1="questiondown" g2="V" k="41" /> -<hkern g1="questiondown" g2="W" k="31" /> -<hkern g1="questiondown" g2="Y,Yacute,Ydieresis" k="68" /> -<hkern g1="questiondown" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="46" /> -<hkern g1="questiondown" g2="S" k="20" /> -<hkern g1="questiondown" g2="X" k="26" /> -<hkern g1="questiondown" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="24" /> -<hkern g1="questiondown" g2="f,uniFB01,uniFB02" k="46" /> -<hkern g1="questiondown" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="13" /> -<hkern g1="questiondown" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="21" /> -<hkern g1="slash" g2="g" k="10" /> -<hkern g1="slash" g2="j" k="-36" /> -<hkern g1="slash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="40" /> -<hkern g1="slash" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="21" /> -<hkern g1="slash" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="41" /> -<hkern g1="slash" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="10" /> -<hkern g1="slash" g2="i,igrave,iacute,icircumflex,idieresis" k="-36" /> -<hkern g1="slash" g2="J" k="80" /> -<hkern g1="slash" g2="t" k="-17" /> -<hkern g1="slash" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="t" k="11" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="T" k="21" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="V" k="10" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="Y,Yacute,Ydieresis" k="21" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="quoteright,quotedblright" k="10" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="asterisk" k="60" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="t" k="11" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="T" k="44" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="V" k="11" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="Y,Yacute,Ydieresis" k="11" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quoteright,quotedblright" k="55" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="asterisk" k="100" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="periodcentered" k="21" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-28" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="9" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="f,uniFB01,uniFB02" k="10" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="10" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="s" k="-28" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="u,ugrave,uacute,ucircumflex,udieresis" k="9" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="17" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="X" k="-10" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="Z" k="11" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="question" k="20" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quoteleft,quotedblleft" k="58" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quotedbl,quotesingle" k="44" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="backslash" k="40" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="registered" k="71" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="trademark" k="40" /> -<hkern g1="B" g2="t" k="10" /> -<hkern g1="B" g2="T" k="21" /> -<hkern g1="B" g2="Y,Yacute,Ydieresis" k="11" /> -<hkern g1="B" g2="quoteright,quotedblright" k="20" /> -<hkern g1="B" g2="asterisk" k="30" /> -<hkern g1="B" g2="periodcentered" k="20" /> -<hkern g1="B" g2="quoteleft,quotedblleft" k="11" /> -<hkern g1="B" g2="trademark" k="20" /> -<hkern g1="B" g2="J" k="15" /> -<hkern g1="B" g2="S" k="11" /> -<hkern g1="B" g2="v" k="11" /> -<hkern g1="B" g2="w" k="10" /> -<hkern g1="B" g2="x" k="10" /> -<hkern g1="B" g2="y,yacute,ydieresis" k="11" /> -<hkern g1="c,ccedilla" g2="t" k="10" /> -<hkern g1="c,ccedilla" g2="T" k="20" /> -<hkern g1="c,ccedilla" g2="V" k="11" /> -<hkern g1="c,ccedilla" g2="Y,Yacute,Ydieresis" k="21" /> -<hkern g1="c,ccedilla" g2="periodcentered" k="11" /> -<hkern g1="c,ccedilla" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10" /> -<hkern g1="c,ccedilla" g2="registered" k="-29" /> -<hkern g1="c,ccedilla" g2="v" k="-9" /> -<hkern g1="c,ccedilla" g2="w" k="-9" /> -<hkern g1="c,ccedilla" g2="x" k="-15" /> -<hkern g1="c,ccedilla" g2="y,yacute,ydieresis" k="-9" /> -<hkern g1="c,ccedilla" g2="g" k="10" /> -<hkern g1="c,ccedilla" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="17" /> -<hkern g1="c,ccedilla" g2="hyphen,uni00AD,endash,emdash" k="11" /> -<hkern g1="c,ccedilla" g2="guillemotleft,guilsinglleft" k="11" /> -<hkern g1="C,Ccedilla" g2="t" k="22" /> -<hkern g1="C,Ccedilla" g2="T" k="21" /> -<hkern g1="C,Ccedilla" g2="periodcentered" k="40" /> -<hkern g1="C,Ccedilla" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="24" /> -<hkern g1="C,Ccedilla" g2="u,ugrave,uacute,ucircumflex,udieresis" k="10" /> -<hkern g1="C,Ccedilla" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="11" /> -<hkern g1="C,Ccedilla" g2="Z" k="10" /> -<hkern g1="C,Ccedilla" g2="registered" k="-19" /> -<hkern g1="C,Ccedilla" g2="trademark" k="-30" /> -<hkern g1="C,Ccedilla" g2="J" k="10" /> -<hkern g1="C,Ccedilla" g2="S" k="21" /> -<hkern g1="C,Ccedilla" g2="v" k="11" /> -<hkern g1="C,Ccedilla" g2="w" k="10" /> -<hkern g1="C,Ccedilla" g2="y,yacute,ydieresis" k="11" /> -<hkern g1="C,Ccedilla" g2="g" k="20" /> -<hkern g1="C,Ccedilla" g2="hyphen,uni00AD,endash,emdash" k="20" /> -<hkern g1="C,Ccedilla" g2="guillemotleft,guilsinglleft" k="11" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="t" k="10" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="T" k="21" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="V" k="10" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="Y,Yacute,Ydieresis" k="20" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="quoteright,quotedblright" k="10" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="asterisk" k="40" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="15" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="backslash" k="11" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="registered" k="-7" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="trademark" k="12" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="J" k="20" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="S" k="20" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="v" k="-12" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="w" k="-12" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="y,yacute,ydieresis" k="-12" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="g" k="10" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="hyphen,uni00AD,endash,emdash" k="-10" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="guillemotleft,guilsinglleft" k="-7" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="W" k="10" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="z" k="-4" /> -<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="t" k="21" /> -<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="v" k="10" /> -<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="x" k="23" /> -<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="y,yacute,ydieresis" k="10" /> -<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="10" /> -<hkern g1="f" g2="T" k="-49" /> -<hkern g1="f" g2="V" k="-69" /> -<hkern g1="f" g2="Y,Yacute,Ydieresis" k="-67" /> -<hkern g1="f" g2="quoteright,quotedblright" k="-40" /> -<hkern g1="f" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="41" /> -<hkern g1="f" g2="periodcentered" k="20" /> -<hkern g1="f" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" /> -<hkern g1="f" g2="X" k="-38" /> -<hkern g1="f" g2="question" k="-29" /> -<hkern g1="f" g2="quoteleft,quotedblleft" k="-40" /> -<hkern g1="f" g2="quotedbl,quotesingle" k="-40" /> -<hkern g1="f" g2="backslash" k="-79" /> -<hkern g1="f" g2="registered" k="-90" /> -<hkern g1="f" g2="trademark" k="-79" /> -<hkern g1="f" g2="v" k="-18" /> -<hkern g1="f" g2="g" k="15" /> -<hkern g1="f" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="10" /> -<hkern g1="f" g2="hyphen,uni00AD,endash,emdash" k="11" /> -<hkern g1="f" g2="W" k="-49" /> -<hkern g1="f" g2="z" k="11" /> -<hkern g1="f" g2="j" k="10" /> -<hkern g1="f" g2="parenright,bracketright,braceright" k="-57" /> -<hkern g1="f" g2="exclam" k="-20" /> -<hkern g1="f" g2="slash" k="20" /> -<hkern g1="F" g2="t" k="10" /> -<hkern g1="F" g2="V" k="-10" /> -<hkern g1="F" g2="Y,Yacute,Ydieresis" k="-11" /> -<hkern g1="F" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="60" /> -<hkern g1="F" g2="periodcentered" k="11" /> -<hkern g1="F" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="31" /> -<hkern g1="F" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="36" /> -<hkern g1="F" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="10" /> -<hkern g1="F" g2="s" k="16" /> -<hkern g1="F" g2="u,ugrave,uacute,ucircumflex,udieresis" k="15" /> -<hkern g1="F" g2="X" k="21" /> -<hkern g1="F" g2="Z" k="30" /> -<hkern g1="F" g2="registered" k="-29" /> -<hkern g1="F" g2="trademark" k="-54" /> -<hkern g1="F" g2="J" k="141" /> -<hkern g1="F" g2="S" k="16" /> -<hkern g1="F" g2="v" k="11" /> -<hkern g1="F" g2="w" k="10" /> -<hkern g1="F" g2="x" k="20" /> -<hkern g1="F" g2="y,yacute,ydieresis" k="10" /> -<hkern g1="F" g2="g" k="21" /> -<hkern g1="F" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="11" /> -<hkern g1="F" g2="guillemotleft,guilsinglleft" k="20" /> -<hkern g1="F" g2="W" k="-10" /> -<hkern g1="F" g2="z" k="17" /> -<hkern g1="F" g2="slash" k="81" /> -<hkern g1="F" g2="m,n,p,r,ntilde" k="20" /> -<hkern g1="germandbls" g2="t" k="15" /> -<hkern g1="germandbls" g2="quoteright,quotedblright" k="37" /> -<hkern g1="germandbls" g2="question" k="10" /> -<hkern g1="germandbls" g2="quoteleft,quotedblleft" k="35" /> -<hkern g1="germandbls" g2="quotedbl,quotesingle" k="62" /> -<hkern g1="germandbls" g2="backslash" k="20" /> -<hkern g1="germandbls" g2="registered" k="24" /> -<hkern g1="germandbls" g2="v" k="10" /> -<hkern g1="germandbls" g2="w" k="11" /> -<hkern g1="germandbls" g2="x" k="-9" /> -<hkern g1="germandbls" g2="y,yacute,ydieresis" k="10" /> -<hkern g1="g" g2="T" k="20" /> -<hkern g1="g" g2="Y,Yacute,Ydieresis" k="11" /> -<hkern g1="g" g2="asterisk" k="38" /> -<hkern g1="g" g2="periodcentered" k="11" /> -<hkern g1="g" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="15" /> -<hkern g1="g" g2="question" k="30" /> -<hkern g1="g" g2="registered" k="-20" /> -<hkern g1="g" g2="y,yacute,ydieresis" k="-22" /> -<hkern g1="g" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="11" /> -<hkern g1="g" g2="z" k="11" /> -<hkern g1="g" g2="j" k="-32" /> -<hkern g1="g" g2="parenright,bracketright,braceright" k="-20" /> -<hkern g1="g" g2="slash" k="-60" /> -<hkern g1="G" g2="T" k="20" /> -<hkern g1="G" g2="V" k="11" /> -<hkern g1="G" g2="asterisk" k="31" /> -<hkern g1="G" g2="registered" k="-20" /> -<hkern g1="G" g2="trademark" k="-25" /> -<hkern g1="J" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="21" /> -<hkern g1="J" g2="J" k="40" /> -<hkern g1="k" g2="t" k="13" /> -<hkern g1="k" g2="T" k="24" /> -<hkern g1="k" g2="Y,Yacute,Ydieresis" k="7" /> -<hkern g1="k" g2="quoteright,quotedblright" k="20" /> -<hkern g1="k" g2="asterisk" k="22" /> -<hkern g1="k" g2="colon,semicolon" k="-18" /> -<hkern g1="k" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="-18" /> -<hkern g1="k" g2="periodcentered" k="20" /> -<hkern g1="k" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10" /> -<hkern g1="k" g2="u,ugrave,uacute,ucircumflex,udieresis" k="11" /> -<hkern g1="k" g2="registered" k="-7" /> -<hkern g1="k" g2="trademark" k="20" /> -<hkern g1="k" g2="g" k="10" /> -<hkern g1="k" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="12" /> -<hkern g1="k" g2="hyphen,uni00AD,endash,emdash" k="21" /> -<hkern g1="k" g2="guillemotleft,guilsinglleft" k="20" /> -<hkern g1="k" g2="guillemotright,guilsinglright" k="3" /> -<hkern g1="k" g2="j" k="10" /> -<hkern g1="K" g2="t" k="22" /> -<hkern g1="K" g2="T" k="12" /> -<hkern g1="K" g2="V" k="9" /> -<hkern g1="K" g2="Y,Yacute,Ydieresis" k="10" /> -<hkern g1="K" g2="asterisk" k="40" /> -<hkern g1="K" g2="periodcentered" k="40" /> -<hkern g1="K" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="10" /> -<hkern g1="K" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="16" /> -<hkern g1="K" g2="u,ugrave,uacute,ucircumflex,udieresis" k="15" /> -<hkern g1="K" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="11" /> -<hkern g1="K" g2="quotedbl,quotesingle" k="13" /> -<hkern g1="K" g2="registered" k="-19" /> -<hkern g1="K" g2="trademark" k="-17" /> -<hkern g1="K" g2="v" k="11" /> -<hkern g1="K" g2="w" k="10" /> -<hkern g1="K" g2="x" k="10" /> -<hkern g1="K" g2="y,yacute,ydieresis" k="11" /> -<hkern g1="K" g2="hyphen,uni00AD,endash,emdash" k="17" /> -<hkern g1="K" g2="guillemotleft,guilsinglleft" k="10" /> -<hkern g1="K" g2="W" k="10" /> -<hkern g1="K" g2="z" k="11" /> -<hkern g1="K" g2="j" k="10" /> -<hkern g1="l,uniFB02" g2="j" k="-7" /> -<hkern g1="L" g2="t" k="16" /> -<hkern g1="L" g2="T" k="120" /> -<hkern g1="L" g2="V" k="75" /> -<hkern g1="L" g2="Y,Yacute,Ydieresis" k="70" /> -<hkern g1="L" g2="quoteright,quotedblright" k="61" /> -<hkern g1="L" g2="asterisk" k="140" /> -<hkern g1="L" g2="periodcentered" k="80" /> -<hkern g1="L" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-8" /> -<hkern g1="L" g2="f,uniFB01,uniFB02" k="11" /> -<hkern g1="L" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20" /> -<hkern g1="L" g2="u,ugrave,uacute,ucircumflex,udieresis" k="10" /> -<hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="24" /> -<hkern g1="L" g2="question" k="20" /> -<hkern g1="L" g2="quoteleft,quotedblleft" k="61" /> -<hkern g1="L" g2="quotedbl,quotesingle" k="59" /> -<hkern g1="L" g2="backslash" k="80" /> -<hkern g1="L" g2="registered" k="80" /> -<hkern g1="L" g2="trademark" k="81" /> -<hkern g1="L" g2="S" k="19" /> -<hkern g1="L" g2="v" k="26" /> -<hkern g1="L" g2="w" k="31" /> -<hkern g1="L" g2="y,yacute,ydieresis" k="26" /> -<hkern g1="L" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="11" /> -<hkern g1="L" g2="hyphen,uni00AD,endash,emdash" k="60" /> -<hkern g1="L" g2="guillemotleft,guilsinglleft" k="40" /> -<hkern g1="L" g2="W" k="55" /> -<hkern g1="h,m,n,ntilde" g2="T" k="21" /> -<hkern g1="h,m,n,ntilde" g2="V" k="10" /> -<hkern g1="h,m,n,ntilde" g2="Y,Yacute,Ydieresis" k="10" /> -<hkern g1="h,m,n,ntilde" g2="quoteright,quotedblright" k="20" /> -<hkern g1="h,m,n,ntilde" g2="asterisk" k="40" /> -<hkern g1="h,m,n,ntilde" g2="trademark" k="20" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="t" k="12" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="T" k="56" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="V" k="18" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="Y,Yacute,Ydieresis" k="40" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="quoteright,quotedblright" k="20" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="asterisk" k="36" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="10" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="15" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="quoteleft,quotedblleft" k="20" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="quotedbl,quotesingle" k="37" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="backslash" k="20" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="x" k="12" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="hyphen,uni00AD,endash,emdash" k="-9" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="T" k="21" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="V" k="10" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="Y,Yacute,Ydieresis" k="20" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="asterisk" k="40" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="10" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="X" k="12" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="Z" k="20" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="registered" k="-9" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="trademark" k="20" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="J" k="31" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="x" k="11" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="W" k="9" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="slash" k="21" /> -<hkern g1="P" g2="T" k="30" /> -<hkern g1="P" g2="Y,Yacute,Ydieresis" k="10" /> -<hkern g1="P" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="100" /> -<hkern g1="P" g2="periodcentered" k="11" /> -<hkern g1="P" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="48" /> -<hkern g1="P" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="50" /> -<hkern g1="P" g2="s" k="10" /> -<hkern g1="P" g2="X" k="21" /> -<hkern g1="P" g2="Z" k="94" /> -<hkern g1="P" g2="registered" k="-39" /> -<hkern g1="P" g2="J" k="149" /> -<hkern g1="P" g2="S" k="10" /> -<hkern g1="P" g2="x" k="11" /> -<hkern g1="P" g2="g" k="39" /> -<hkern g1="P" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="25" /> -<hkern g1="P" g2="hyphen,uni00AD,endash,emdash" k="38" /> -<hkern g1="P" g2="guillemotleft,guilsinglleft" k="20" /> -<hkern g1="P" g2="z" k="20" /> -<hkern g1="P" g2="slash" k="90" /> -<hkern g1="r" g2="quoteright,quotedblright" k="-34" /> -<hkern g1="r" g2="colon,semicolon" k="-36" /> -<hkern g1="r" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="39" /> -<hkern g1="r" g2="periodcentered" k="19" /> -<hkern g1="r" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="21" /> -<hkern g1="r" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="11" /> -<hkern g1="r" g2="Z" k="10" /> -<hkern g1="r" g2="quoteleft,quotedblleft" k="-38" /> -<hkern g1="r" g2="backslash" k="-18" /> -<hkern g1="r" g2="registered" k="-79" /> -<hkern g1="r" g2="J" k="44" /> -<hkern g1="r" g2="v" k="-36" /> -<hkern g1="r" g2="w" k="-27" /> -<hkern g1="r" g2="y,yacute,ydieresis" k="-36" /> -<hkern g1="r" g2="g" k="10" /> -<hkern g1="r" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="10" /> -<hkern g1="r" g2="hyphen,uni00AD,endash,emdash" k="21" /> -<hkern g1="r" g2="guillemotleft,guilsinglleft" k="20" /> -<hkern g1="r" g2="slash" k="40" /> -<hkern g1="R" g2="T" k="11" /> -<hkern g1="R" g2="V" k="-16" /> -<hkern g1="R" g2="Y,Yacute,Ydieresis" k="-7" /> -<hkern g1="R" g2="asterisk" k="10" /> -<hkern g1="R" g2="periodcentered" k="10" /> -<hkern g1="R" g2="Z" k="10" /> -<hkern g1="R" g2="registered" k="-36" /> -<hkern g1="R" g2="J" k="21" /> -<hkern g1="R" g2="S" k="14" /> -<hkern g1="R" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="10" /> -<hkern g1="R" g2="hyphen,uni00AD,endash,emdash" k="32" /> -<hkern g1="R" g2="guillemotleft,guilsinglleft" k="30" /> -<hkern g1="R" g2="W" k="-9" /> -<hkern g1="R" g2="guillemotright,guilsinglright" k="11" /> -<hkern g1="s" g2="t" k="20" /> -<hkern g1="s" g2="T" k="21" /> -<hkern g1="s" g2="V" k="10" /> -<hkern g1="s" g2="Y,Yacute,Ydieresis" k="20" /> -<hkern g1="s" g2="quoteright,quotedblright" k="3" /> -<hkern g1="s" g2="asterisk" k="61" /> -<hkern g1="s" g2="question" k="3" /> -<hkern g1="s" g2="hyphen,uni00AD,endash,emdash" k="-10" /> -<hkern g1="S" g2="t" k="21" /> -<hkern g1="S" g2="T" k="20" /> -<hkern g1="S" g2="Y,Yacute,Ydieresis" k="11" /> -<hkern g1="S" g2="quoteright,quotedblright" k="3" /> -<hkern g1="S" g2="asterisk" k="19" /> -<hkern g1="S" g2="periodcentered" k="12" /> -<hkern g1="S" g2="registered" k="-8" /> -<hkern g1="S" g2="J" k="11" /> -<hkern g1="S" g2="S" k="11" /> -<hkern g1="S" g2="hyphen,uni00AD,endash,emdash" k="-11" /> -<hkern g1="S" g2="z" k="-9" /> -<hkern g1="Thorn" g2="asterisk" k="75" /> -<hkern g1="Thorn" g2="backslash" k="40" /> -<hkern g1="Thorn" g2="trademark" k="21" /> -<hkern g1="Thorn" g2="slash" k="74" /> -<hkern g1="t" g2="t" k="20" /> -<hkern g1="t" g2="T" k="11" /> -<hkern g1="t" g2="colon,semicolon" k="-20" /> -<hkern g1="t" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="-18" /> -<hkern g1="t" g2="periodcentered" k="20" /> -<hkern g1="t" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="22" /> -<hkern g1="t" g2="s" k="10" /> -<hkern g1="t" g2="question" k="20" /> -<hkern g1="t" g2="registered" k="-40" /> -<hkern g1="t" g2="x" k="19" /> -<hkern g1="t" g2="g" k="10" /> -<hkern g1="t" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="11" /> -<hkern g1="t" g2="hyphen,uni00AD,endash,emdash" k="20" /> -<hkern g1="t" g2="guillemotleft,guilsinglleft" k="21" /> -<hkern g1="t" g2="guillemotright,guilsinglright" k="11" /> -<hkern g1="t" g2="slash" k="-19" /> -<hkern g1="T" g2="t" k="21" /> -<hkern g1="T" g2="Y,Yacute,Ydieresis" k="11" /> -<hkern g1="T" g2="colon,semicolon" k="20" /> -<hkern g1="T" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="100" /> -<hkern g1="T" g2="periodcentered" k="61" /> -<hkern g1="T" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="78" /> -<hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="40" /> -<hkern g1="T" g2="f,uniFB01,uniFB02" k="21" /> -<hkern g1="T" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="21" /> -<hkern g1="T" g2="s" k="58" /> -<hkern g1="T" g2="u,ugrave,uacute,ucircumflex,udieresis" k="49" /> -<hkern g1="T" g2="X" k="20" /> -<hkern g1="T" g2="Z" k="60" /> -<hkern g1="T" g2="registered" k="-20" /> -<hkern g1="T" g2="trademark" k="-40" /> -<hkern g1="T" g2="J" k="129" /> -<hkern g1="T" g2="S" k="47" /> -<hkern g1="T" g2="v" k="38" /> -<hkern g1="T" g2="w" k="40" /> -<hkern g1="T" g2="x" k="47" /> -<hkern g1="T" g2="y,yacute,ydieresis" k="38" /> -<hkern g1="T" g2="g" k="78" /> -<hkern g1="T" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="60" /> -<hkern g1="T" g2="hyphen,uni00AD,endash,emdash" k="78" /> -<hkern g1="T" g2="guillemotleft,guilsinglleft" k="42" /> -<hkern g1="T" g2="z" k="82" /> -<hkern g1="T" g2="guillemotright,guilsinglright" k="40" /> -<hkern g1="T" g2="slash" k="101" /> -<hkern g1="T" g2="m,n,p,r,ntilde" k="49" /> -<hkern g1="T" g2="AE" k="96" /> -<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" g2="T" k="20" /> -<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" g2="V" k="11" /> -<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" g2="Y,Yacute,Ydieresis" k="30" /> -<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" g2="asterisk" k="30" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="Y,Yacute,Ydieresis" k="11" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="10" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="19" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="X" k="10" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="J" k="42" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="S" k="10" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="g" k="10" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="slash" k="41" /> -<hkern g1="v" g2="T" k="20" /> -<hkern g1="v" g2="V" k="8" /> -<hkern g1="v" g2="Y,Yacute,Ydieresis" k="11" /> -<hkern g1="v" g2="asterisk" k="12" /> -<hkern g1="v" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="20" /> -<hkern g1="v" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" /> -<hkern g1="v" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="10" /> -<hkern g1="v" g2="Z" k="10" /> -<hkern g1="v" g2="registered" k="-56" /> -<hkern g1="v" g2="trademark" k="-17" /> -<hkern g1="v" g2="J" k="40" /> -<hkern g1="v" g2="z" k="21" /> -<hkern g1="v" g2="j" k="10" /> -<hkern g1="v" g2="slash" k="20" /> -<hkern g1="V" g2="V" k="-10" /> -<hkern g1="V" g2="quoteright,quotedblright" k="-18" /> -<hkern g1="V" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="58" /> -<hkern g1="V" g2="periodcentered" k="16" /> -<hkern g1="V" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="15" /> -<hkern g1="V" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="11" /> -<hkern g1="V" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="10" /> -<hkern g1="V" g2="s" k="9" /> -<hkern g1="V" g2="u,ugrave,uacute,ucircumflex,udieresis" k="30" /> -<hkern g1="V" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="10" /> -<hkern g1="V" g2="Z" k="18" /> -<hkern g1="V" g2="registered" k="-54" /> -<hkern g1="V" g2="trademark" k="-51" /> -<hkern g1="V" g2="J" k="78" /> -<hkern g1="V" g2="S" k="10" /> -<hkern g1="V" g2="v" k="8" /> -<hkern g1="V" g2="w" k="8" /> -<hkern g1="V" g2="x" k="13" /> -<hkern g1="V" g2="y,yacute,ydieresis" k="8" /> -<hkern g1="V" g2="g" k="22" /> -<hkern g1="V" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="13" /> -<hkern g1="V" g2="hyphen,uni00AD,endash,emdash" k="18" /> -<hkern g1="V" g2="guillemotleft,guilsinglleft" k="22" /> -<hkern g1="V" g2="z" k="27" /> -<hkern g1="V" g2="guillemotright,guilsinglright" k="14" /> -<hkern g1="V" g2="slash" k="58" /> -<hkern g1="V" g2="m,n,p,r,ntilde" k="20" /> -<hkern g1="w" g2="T" k="21" /> -<hkern g1="w" g2="V" k="8" /> -<hkern g1="w" g2="Y,Yacute,Ydieresis" k="21" /> -<hkern g1="w" g2="asterisk" k="12" /> -<hkern g1="w" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="15" /> -<hkern g1="w" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10" /> -<hkern g1="w" g2="X" k="11" /> -<hkern g1="w" g2="registered" k="-54" /> -<hkern g1="w" g2="trademark" k="-19" /> -<hkern g1="w" g2="J" k="30" /> -<hkern g1="w" g2="z" k="12" /> -<hkern g1="w" g2="j" k="10" /> -<hkern g1="w" g2="slash" k="11" /> -<hkern g1="W" g2="quoteright,quotedblright" k="-18" /> -<hkern g1="W" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="31" /> -<hkern g1="W" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="19" /> -<hkern g1="W" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="9" /> -<hkern g1="W" g2="Z" k="9" /> -<hkern g1="W" g2="registered" k="-47" /> -<hkern g1="W" g2="trademark" k="-31" /> -<hkern g1="W" g2="J" k="76" /> -<hkern g1="W" g2="S" k="9" /> -<hkern g1="W" g2="g" k="18" /> -<hkern g1="W" g2="hyphen,uni00AD,endash,emdash" k="10" /> -<hkern g1="W" g2="guillemotleft,guilsinglleft" k="10" /> -<hkern g1="W" g2="z" k="10" /> -<hkern g1="W" g2="guillemotright,guilsinglright" k="10" /> -<hkern g1="W" g2="slash" k="41" /> -<hkern g1="x" g2="t" k="21" /> -<hkern g1="x" g2="T" k="38" /> -<hkern g1="x" g2="V" k="13" /> -<hkern g1="x" g2="Y,Yacute,Ydieresis" k="31" /> -<hkern g1="x" g2="asterisk" k="24" /> -<hkern g1="x" g2="periodcentered" k="20" /> -<hkern g1="x" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10" /> -<hkern g1="x" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="10" /> -<hkern g1="x" g2="X" k="10" /> -<hkern g1="x" g2="registered" k="-54" /> -<hkern g1="x" g2="trademark" k="-17" /> -<hkern g1="x" g2="y,yacute,ydieresis" k="-7" /> -<hkern g1="x" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="12" /> -<hkern g1="x" g2="hyphen,uni00AD,endash,emdash" k="11" /> -<hkern g1="x" g2="guillemotleft,guilsinglleft" k="21" /> -<hkern g1="x" g2="guillemotright,guilsinglright" k="20" /> -<hkern g1="x" g2="exclam" k="11" /> -<hkern g1="X" g2="t" k="10" /> -<hkern g1="X" g2="T" k="20" /> -<hkern g1="X" g2="asterisk" k="10" /> -<hkern g1="X" g2="periodcentered" k="40" /> -<hkern g1="X" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10" /> -<hkern g1="X" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-8" /> -<hkern g1="X" g2="f,uniFB01,uniFB02" k="10" /> -<hkern g1="X" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="12" /> -<hkern g1="X" g2="u,ugrave,uacute,ucircumflex,udieresis" k="10" /> -<hkern g1="X" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="10" /> -<hkern g1="X" g2="quotedbl,quotesingle" k="10" /> -<hkern g1="X" g2="registered" k="-20" /> -<hkern g1="X" g2="trademark" k="-22" /> -<hkern g1="X" g2="J" k="-7" /> -<hkern g1="X" g2="S" k="11" /> -<hkern g1="X" g2="v" k="10" /> -<hkern g1="X" g2="w" k="11" /> -<hkern g1="X" g2="x" k="10" /> -<hkern g1="X" g2="y,yacute,ydieresis" k="10" /> -<hkern g1="X" g2="hyphen,uni00AD,endash,emdash" k="22" /> -<hkern g1="X" g2="guillemotleft,guilsinglleft" k="11" /> -<hkern g1="X" g2="z" k="11" /> -<hkern g1="X" g2="guillemotright,guilsinglright" k="11" /> -<hkern g1="y,yacute,ydieresis" g2="T" k="20" /> -<hkern g1="y,yacute,ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="20" /> -<hkern g1="y,yacute,ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" /> -<hkern g1="y,yacute,ydieresis" g2="registered" k="-56" /> -<hkern g1="y,yacute,ydieresis" g2="trademark" k="-18" /> -<hkern g1="y,yacute,ydieresis" g2="J" k="40" /> -<hkern g1="y,yacute,ydieresis" g2="x" k="11" /> -<hkern g1="y,yacute,ydieresis" g2="z" k="21" /> -<hkern g1="y,yacute,ydieresis" g2="j" k="10" /> -<hkern g1="y,yacute,ydieresis" g2="slash" k="20" /> -<hkern g1="Y,Yacute,Ydieresis" g2="t" k="15" /> -<hkern g1="Y,Yacute,Ydieresis" g2="T" k="11" /> -<hkern g1="Y,Yacute,Ydieresis" g2="quoteright,quotedblright" k="-17" /> -<hkern g1="Y,Yacute,Ydieresis" g2="colon,semicolon" k="18" /> -<hkern g1="Y,Yacute,Ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="79" /> -<hkern g1="Y,Yacute,Ydieresis" g2="periodcentered" k="40" /> -<hkern g1="Y,Yacute,Ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="62" /> -<hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="11" /> -<hkern g1="Y,Yacute,Ydieresis" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="11" /> -<hkern g1="Y,Yacute,Ydieresis" g2="s" k="33" /> -<hkern g1="Y,Yacute,Ydieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="31" /> -<hkern g1="Y,Yacute,Ydieresis" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="10" /> -<hkern g1="Y,Yacute,Ydieresis" g2="Z" k="29" /> -<hkern g1="Y,Yacute,Ydieresis" g2="registered" k="-38" /> -<hkern g1="Y,Yacute,Ydieresis" g2="trademark" k="-49" /> -<hkern g1="Y,Yacute,Ydieresis" g2="J" k="100" /> -<hkern g1="Y,Yacute,Ydieresis" g2="S" k="15" /> -<hkern g1="Y,Yacute,Ydieresis" g2="v" k="11" /> -<hkern g1="Y,Yacute,Ydieresis" g2="w" k="21" /> -<hkern g1="Y,Yacute,Ydieresis" g2="x" k="31" /> -<hkern g1="Y,Yacute,Ydieresis" g2="y,yacute,ydieresis" k="11" /> -<hkern g1="Y,Yacute,Ydieresis" g2="g" k="60" /> -<hkern g1="Y,Yacute,Ydieresis" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="33" /> -<hkern g1="Y,Yacute,Ydieresis" g2="hyphen,uni00AD,endash,emdash" k="60" /> -<hkern g1="Y,Yacute,Ydieresis" g2="guillemotleft,guilsinglleft" k="44" /> -<hkern g1="Y,Yacute,Ydieresis" g2="z" k="42" /> -<hkern g1="Y,Yacute,Ydieresis" g2="guillemotright,guilsinglright" k="28" /> -<hkern g1="Y,Yacute,Ydieresis" g2="slash" k="78" /> -<hkern g1="Y,Yacute,Ydieresis" g2="m,n,p,r,ntilde" k="40" /> -<hkern g1="z" g2="T" k="29" /> -<hkern g1="z" g2="Y,Yacute,Ydieresis" k="37" /> -<hkern g1="z" g2="periodcentered" k="12" /> -<hkern g1="z" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="28" /> -<hkern g1="z" g2="u,ugrave,uacute,ucircumflex,udieresis" k="10" /> -<hkern g1="z" g2="registered" k="-36" /> -<hkern g1="z" g2="trademark" k="-18" /> -<hkern g1="z" g2="g" k="9" /> -<hkern g1="z" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="10" /> -<hkern g1="z" g2="hyphen,uni00AD,endash,emdash" k="10" /> -<hkern g1="Z" g2="t" k="11" /> -<hkern g1="Z" g2="V" k="9" /> -<hkern g1="Z" g2="Y,Yacute,Ydieresis" k="11" /> -<hkern g1="Z" g2="periodcentered" k="60" /> -<hkern g1="Z" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="19" /> -<hkern g1="Z" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="9" /> -<hkern g1="Z" g2="f,uniFB01,uniFB02" k="20" /> -<hkern g1="Z" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20" /> -<hkern g1="Z" g2="u,ugrave,uacute,ucircumflex,udieresis" k="28" /> -<hkern g1="Z" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="10" /> -<hkern g1="Z" g2="Z" k="19" /> -<hkern g1="Z" g2="registered" k="-20" /> -<hkern g1="Z" g2="trademark" k="-20" /> -<hkern g1="Z" g2="J" k="38" /> -<hkern g1="Z" g2="S" k="30" /> -<hkern g1="Z" g2="v" k="19" /> -<hkern g1="Z" g2="w" k="19" /> -<hkern g1="Z" g2="x" k="21" /> -<hkern g1="Z" g2="y,yacute,ydieresis" k="19" /> -<hkern g1="Z" g2="g" k="15" /> -<hkern g1="Z" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="26" /> -<hkern g1="Z" g2="hyphen,uni00AD,endash,emdash" k="40" /> -<hkern g1="Z" g2="guillemotleft,guilsinglleft" k="40" /> -<hkern g1="Z" g2="W" k="9" /> -<hkern g1="parenleft,bracketleft,braceleft" g2="j" k="-80" /> -<hkern g1="parenleft,bracketleft,braceleft" g2="J" k="20" /> -<hkern g1="colon,semicolon" g2="j" k="-4" /> -<hkern g1="colon,semicolon" g2="Y,Yacute,Ydieresis" k="20" /> -<hkern g1="colon,semicolon" g2="asterisk" k="61" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="j" k="-20" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="Y,Yacute,Ydieresis" k="80" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="asterisk" k="121" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="12" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="t" k="36" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="T" k="98" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="16" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="v" k="20" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="V" k="58" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="w" k="15" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="W" k="31" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="y,yacute,ydieresis" k="20" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quoteleft,quotedblleft" k="61" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quoteright,quotedblright" k="81" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quotedbl,quotesingle" k="77" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="J" k="20" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="Y,Yacute,Ydieresis" k="60" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="t" k="29" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="T" k="42" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="V" k="18" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="W" k="10" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="S" k="12" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="x" k="11" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="X" k="22" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="Z" k="20" /> -<hkern g1="exclam" g2="quoteright,quotedblright" k="20" /> -<hkern g1="guillemotleft,guilsinglleft" g2="Y,Yacute,Ydieresis" k="28" /> -<hkern g1="guillemotleft,guilsinglleft" g2="t" k="11" /> -<hkern g1="guillemotleft,guilsinglleft" g2="T" k="40" /> -<hkern g1="guillemotleft,guilsinglleft" g2="V" k="12" /> -<hkern g1="guillemotleft,guilsinglleft" g2="W" k="12" /> -<hkern g1="guillemotleft,guilsinglleft" g2="x" k="20" /> -<hkern g1="guillemotleft,guilsinglleft" g2="X" k="11" /> -<hkern g1="guillemotright,guilsinglright" g2="J" k="30" /> -<hkern g1="guillemotright,guilsinglright" g2="Y,Yacute,Ydieresis" k="44" /> -<hkern g1="guillemotright,guilsinglright" g2="t" k="38" /> -<hkern g1="guillemotright,guilsinglright" g2="T" k="40" /> -<hkern g1="guillemotright,guilsinglright" g2="V" k="22" /> -<hkern g1="guillemotright,guilsinglright" g2="W" k="10" /> -<hkern g1="guillemotright,guilsinglright" g2="S" k="30" /> -<hkern g1="guillemotright,guilsinglright" g2="x" k="21" /> -<hkern g1="guillemotright,guilsinglright" g2="X" k="11" /> -<hkern g1="guillemotright,guilsinglright" g2="Z" k="21" /> -<hkern g1="question" g2="quoteright,quotedblright" k="13" /> -<hkern g1="quoteleft,quotedblleft" g2="J" k="64" /> -<hkern g1="quoteleft,quotedblleft" g2="Y,Yacute,Ydieresis" k="-17" /> -<hkern g1="quoteleft,quotedblleft" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="38" /> -<hkern g1="quoteleft,quotedblleft" g2="V" k="-18" /> -<hkern g1="quoteleft,quotedblleft" g2="W" k="-18" /> -<hkern g1="quoteleft,quotedblleft" g2="S" k="11" /> -<hkern g1="quoteleft,quotedblleft" g2="AE" k="96" /> -<hkern g1="quoteleft,quotedblleft" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="48" /> -<hkern g1="quoteleft,quotedblleft" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="55" /> -<hkern g1="quoteleft,quotedblleft" g2="f,uniFB01,uniFB02" k="11" /> -<hkern g1="quoteleft,quotedblleft" g2="g" k="38" /> -<hkern g1="quoteleft,quotedblleft" g2="s" k="10" /> -<hkern g1="quoteleft,quotedblleft" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="59" /> -<hkern g1="quoteleft,quotedblleft" g2="exclamdown" k="58" /> -<hkern g1="quoteleft,quotedblleft" g2="questiondown" k="138" /> -<hkern g1="quoteright,quotedblright" g2="J" k="66" /> -<hkern g1="quoteright,quotedblright" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="74" /> -<hkern g1="quoteright,quotedblright" g2="AE" k="96" /> -<hkern g1="quoteright,quotedblright" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="76" /> -<hkern g1="quoteright,quotedblright" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="45" /> -<hkern g1="quoteright,quotedblright" g2="f,uniFB01,uniFB02" k="19" /> -<hkern g1="quoteright,quotedblright" g2="g" k="56" /> -<hkern g1="quoteright,quotedblright" g2="s" k="57" /> -<hkern g1="quoteright,quotedblright" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="120" /> -<hkern g1="quoteright,quotedblright" g2="m,n,p,r,ntilde" k="18" /> -<hkern g1="quoteright,quotedblright" g2="z" k="29" /> -<hkern g1="quotedbl,quotesingle" g2="J" k="84" /> -<hkern g1="quotedbl,quotesingle" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="37" /> -<hkern g1="quotedbl,quotesingle" g2="S" k="10" /> -<hkern g1="quotedbl,quotesingle" g2="X" k="10" /> -<hkern g1="quotedbl,quotesingle" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="44" /> -<hkern g1="quotedbl,quotesingle" g2="s" k="20" /> -<hkern g1="quotedbl,quotesingle" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="104" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf b/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf deleted file mode 100644 index e6c158c2fb41d088aea593e3f0ad0bc96477da07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67760 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 D=6!t@ diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff b/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff deleted file mode 100644 index d0a1c2929b6d826112c7ff6c000e9f754c656fb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21132 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 a?WTJ9k*nkSE8QbNdj2!*sh_)zfdK%PUYWoE diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 b/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 deleted file mode 100644 index d28697491e0cd044a8df79d9ce005a6b63f20105..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16080 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 diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot b/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot deleted file mode 100644 index b4204488cc5beb2d520d1d828ff5d42f83fb5b60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20014 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 diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg b/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg deleted file mode 100644 index dee0949fd..000000000 --- a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +++ /dev/null @@ -1,1049 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> -<metadata></metadata> -<defs> -<font id="source_sans_proregular" horiz-adv-x="497" > -<font-face units-per-em="1000" ascent="750" descent="-250" /> -<missing-glyph horiz-adv-x="200" /> -<glyph horiz-adv-x="0" /> -<glyph horiz-adv-x="333" /> -<glyph unicode=" " horiz-adv-x="200" /> -<glyph unicode="	" horiz-adv-x="200" /> -<glyph unicode=" " horiz-adv-x="200" /> -<glyph unicode="!" horiz-adv-x="289" d="M116 198l-11 378l-2 94h83l-2 -94l-11 -378h-57zM145 -12q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5z" /> -<glyph unicode=""" horiz-adv-x="426" d="M99 431l-16 167l-3 92h88l-3 -92l-16 -167h-50zM276 431l-16 167l-3 92h88l-3 -92l-16 -167h-50z" /> -<glyph unicode="#" d="M90 0l25 204h-80v57h87l18 148h-85v58h92l23 183h53l-23 -183h133l24 183h53l-24 -183h81v-58h-87l-18 -148h85v-57h-92l-25 -204h-53l24 204h-132l-25 -204h-54zM176 261h132l18 148h-132z" /> -<glyph unicode="$" d="M222 -110v99q-97 9 -170 77l38 57q78 -67 155 -67q54 0 82.5 27.5t28.5 75.5q0 44 -28.5 76t-69.5 52t-82.5 42t-70 60t-28.5 92q0 66 39.5 111t105.5 55v101h60v-99q78 -9 142 -76l-44 -49q-31 30 -57.5 43.5t-64.5 13.5q-46 0 -73 -26t-27 -70q0 -29 15.5 -51.5t40 -38 t54 -29.5t59.5 -31t54.5 -38t40 -54.5t15.5 -77.5q0 -71 -42 -117.5t-113 -56.5v-101h-60z" /> -<glyph unicode="%" horiz-adv-x="824" d="M184 254q-68 0 -108.5 55t-40.5 153q0 97 40.5 151.5t108.5 54.5t108.5 -54.5t40.5 -151.5q0 -98 -40.5 -153t-108.5 -55zM184 305q39 0 62.5 40.5t23.5 116.5t-23 115.5t-63 39.5t-63.5 -39.5t-23.5 -115.5t23.5 -116.5t63.5 -40.5zM203 -12l362 680h56l-362 -680h-56z M641 -12q-68 0 -108.5 55t-40.5 153q0 97 40.5 151.5t108.5 54.5t108.5 -54.5t40.5 -151.5q0 -98 -40.5 -153t-108.5 -55zM641 39q39 0 62.5 40.5t23.5 116.5t-23 115.5t-63 39.5t-63.5 -39.5t-23.5 -115.5t23.5 -116.5t63.5 -40.5z" /> -<glyph unicode="&" horiz-adv-x="609" d="M232 -12q-89 0 -144.5 51t-55.5 131q0 60 34.5 103.5t94.5 85.5q-43 86 -43 154q0 66 42.5 110.5t109.5 44.5q60 0 94.5 -35.5t34.5 -94.5q0 -31 -11.5 -58t-36.5 -52.5t-44.5 -41.5t-55.5 -42q62 -97 166 -184q63 85 92 194h77q-42 -138 -115 -235q70 -48 123 -63 l-22 -68q-73 21 -151 75q-83 -75 -189 -75zM189 514q0 -50 31 -115q55 37 83.5 68t28.5 70q0 31 -15.5 51.5t-46.5 20.5q-36 0 -58.5 -27t-22.5 -68zM241 54q64 0 125 53q-105 92 -172 195q-82 -66 -82 -127q0 -54 37 -87.5t92 -33.5z" /> -<glyph unicode="'" horiz-adv-x="249" d="M99 431l-16 167l-3 92h88l-3 -92l-16 -167h-50z" /> -<glyph unicode="(" horiz-adv-x="303" d="M214 -176q-132 213 -132 454t132 454l51 -24q-115 -190 -115 -430t115 -430z" /> -<glyph unicode=")" horiz-adv-x="303" d="M89 -176l-51 24q115 190 115 430t-115 430l51 24q132 -213 132 -454t-132 -454z" /> -<glyph unicode="*" horiz-adv-x="418" d="M138 420l-40 29l57 94l-97 40l15 46l102 -25l9 108h49l9 -107l103 24l15 -46l-97 -40l56 -94l-39 -29l-71 86z" /> -<glyph unicode="+" d="M216 104v195h-182v62h182v195h65v-195h182v-62h-182v-195h-65z" /> -<glyph unicode="," horiz-adv-x="249" d="M67 -170l-20 48q43 19 67 51t23 71q-3 -1 -10 -1q-25 0 -42 15t-17 42q0 26 17.5 42t43.5 16q32 0 50.5 -26t18.5 -71q0 -64 -34.5 -112.5t-96.5 -74.5z" /> -<glyph unicode="-" horiz-adv-x="311" d="M41 219v63h230v-63h-230z" /> -<glyph unicode="." horiz-adv-x="249" d="M125 -12q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5z" /> -<glyph unicode="/" horiz-adv-x="350" d="M10 -160l267 870h60l-267 -870h-60z" /> -<glyph unicode="0" d="M249 -12q-97 0 -151 87t-54 246t54 244t151 85q96 0 150 -85t54 -244t-54 -246t-150 -87zM249 54q58 0 91 66t33 201q0 263 -124 263q-125 0 -125 -263q0 -135 33 -201t92 -66z" /> -<glyph unicode="1" d="M79 0v68h146v470h-116v53q80 14 135 47h63v-570h132v-68h-360z" /> -<glyph unicode="2" d="M40 0v49q83 83 129.5 132t90.5 103.5t62 95t18 78.5q0 57 -31 91t-90 34q-70 0 -136 -77l-47 47q89 97 193 97q88 0 139.5 -51.5t51.5 -136.5q0 -82 -61.5 -168t-198.5 -229q70 6 107 6h185v-71h-412z" /> -<glyph unicode="3" d="M236 -12q-128 0 -210 90l42 54q72 -76 163 -76q58 0 95 32t37 85q0 127 -204 127v63q181 0 181 119q0 47 -29.5 74t-80.5 27q-71 0 -136 -65l-44 52q85 80 183 80q85 0 138 -43t53 -119q0 -108 -116 -152v-4q61 -14 99.5 -56.5t38.5 -105.5q0 -83 -60 -132.5t-150 -49.5z " /> -<glyph unicode="4" d="M304 0v176h-287v54l273 408h92v-396h87v-66h-87v-176h-78zM104 242h200v185q0 38 5 123h-4q-2 -4 -52 -90z" /> -<glyph unicode="5" d="M234 -12q-122 0 -209 87l40 54q73 -73 161 -73q60 0 100 40.5t40 105.5t-37 102.5t-99 37.5q-50 0 -109 -39l-44 28l21 307h319v-71h-247l-17 -189q49 26 98 26q87 0 142.5 -50.5t55.5 -149.5t-63.5 -157.5t-151.5 -58.5z" /> -<glyph unicode="6" d="M268 -12q-98 0 -159 79.5t-61 227.5q0 180 69 267.5t174 87.5q91 0 154 -68l-46 -51q-42 50 -105 50q-73 0 -119 -64.5t-49 -206.5q30 37 70 58.5t79 21.5q85 0 133.5 -50.5t48.5 -146.5q0 -90 -55 -147.5t-134 -57.5zM268 53q48 0 79.5 39t31.5 101q0 64 -30 99.5 t-88 35.5q-33 0 -69 -21t-64 -63q8 -93 43.5 -142t96.5 -49z" /> -<glyph unicode="7" d="M177 0q8 181 49.5 309t135.5 258h-318v71h411v-51q-108 -138 -146 -262.5t-47 -324.5h-85z" /> -<glyph unicode="8" d="M250 -12q-90 0 -149.5 49.5t-59.5 125.5q0 108 120 172v4q-89 62 -89 147q0 73 51.5 118.5t129.5 45.5q82 0 131 -47.5t49 -122.5q0 -46 -26.5 -86.5t-61.5 -67.5v-4q51 -30 81 -67.5t30 -96.5q0 -73 -57.5 -121.5t-148.5 -48.5zM295 348q67 59 67 128q0 49 -30 81 t-81 32q-45 0 -74 -28.5t-29 -74.5q0 -51 37.5 -80.5t109.5 -57.5zM252 49q55 0 90 31t35 81q0 24 -10.5 44t-22 32.5t-41 28t-44.5 22t-55 22.5q-89 -59 -89 -139q0 -53 39 -87.5t98 -34.5z" /> -<glyph unicode="9" d="M235 310q76 0 134 85q-17 190 -141 190q-47 0 -79 -39t-32 -101q0 -64 30 -99.5t88 -35.5zM205 -12q-92 0 -154 67l46 52q43 -51 105 -51q74 0 120.5 65t48.5 209q-30 -38 -70 -60t-80 -22q-84 0 -132.5 50.5t-48.5 146.5q0 90 55 147.5t133 57.5q98 0 159 -79t61 -228 q0 -180 -69 -267.5t-174 -87.5z" /> -<glyph unicode=":" horiz-adv-x="249" d="M125 349q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5zM125 -12q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5z" /> -<glyph unicode=";" horiz-adv-x="249" d="M125 349q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5zM67 -170l-20 48q43 19 67 51t23 71q-3 -1 -10 -1q-25 0 -42 15t-17 42q0 26 17.5 42t43.5 16q32 0 50.5 -26t18.5 -71q0 -64 -34.5 -112.5t-96.5 -74.5z" /> -<glyph unicode="<" d="M463 131l-429 168v66l429 168v-71l-211 -78l-134 -50v-4l134 -50l211 -78v-71z" /> -<glyph unicode="=" d="M34 406v62h429v-62h-429zM34 192v62h429v-62h-429z" /> -<glyph unicode=">" d="M34 131v71l211 78l134 50v4l-134 50l-211 78v71l429 -168v-66z" /> -<glyph unicode="?" horiz-adv-x="425" d="M160 198q-6 43 5.5 82t33 68t43.5 55t38.5 55.5t16.5 58.5q0 42 -25.5 69.5t-71.5 27.5q-65 0 -115 -58l-47 43q73 83 172 83q76 0 121.5 -43t45.5 -117q0 -36 -16.5 -70t-39.5 -61t-45 -55t-35 -63.5t-9 -74.5h-72zM198 -12q-25 0 -42 17.5t-17 44.5q0 28 17 46t42 18 t42.5 -18t17.5 -46q0 -27 -17.5 -44.5t-42.5 -17.5z" /> -<glyph unicode="@" horiz-adv-x="847" d="M403 -155q-153 0 -252.5 94.5t-99.5 263.5q0 196 122 319.5t295 123.5q150 0 239 -91t89 -240q0 -123 -62 -194.5t-138 -71.5q-42 0 -70 19.5t-33 56.5h-2q-58 -68 -122 -68q-53 0 -86.5 37.5t-33.5 103.5q0 86 54.5 159t137.5 73q54 0 80 -48h2l11 40h55l-39 -200 q-30 -117 54 -117q51 0 92.5 57.5t41.5 149.5q0 125 -72 202t-205 77q-140 0 -245 -108t-105 -277q0 -143 83.5 -224.5t214.5 -81.5q84 0 162 45l22 -49q-85 -51 -190 -51zM385 113q43 0 92 59l29 159q-26 42 -64 42q-56 0 -91.5 -54t-35.5 -116q0 -46 19 -68t51 -22z" /> -<glyph unicode="A" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85z" /> -<glyph unicode="B" horiz-adv-x="588" d="M90 0v656h195q225 0 225 -160q0 -50 -25.5 -89t-70.5 -54v-4q62 -12 98 -52t36 -105q0 -94 -67.5 -143t-181.5 -49h-209zM173 377h97q158 0 158 108q0 56 -38 80.5t-116 24.5h-101v-213zM173 66h114q179 0 179 129q0 118 -179 118h-114v-247z" /> -<glyph unicode="C" horiz-adv-x="571" d="M338 -12q-126 0 -206 91.5t-80 248.5q0 155 81.5 247.5t209.5 92.5q108 0 180 -81l-45 -54q-59 62 -134 62q-93 0 -149.5 -71.5t-56.5 -193.5q0 -124 55 -196.5t148 -72.5q84 0 152 74l46 -52q-82 -95 -201 -95z" /> -<glyph unicode="D" horiz-adv-x="615" d="M90 0v656h164q151 0 230.5 -84t79.5 -241q0 -158 -79 -244.5t-227 -86.5h-168zM173 68h75q113 0 171.5 68.5t58.5 194.5q0 125 -58 191t-172 66h-75v-520z" /> -<glyph unicode="E" horiz-adv-x="527" d="M90 0v656h378v-70h-295v-206h249v-71h-249v-238h305v-71h-388z" /> -<glyph unicode="F" horiz-adv-x="494" d="M90 0v656h378v-70h-295v-222h250v-70h-250v-294h-83z" /> -<glyph unicode="G" horiz-adv-x="617" d="M348 -12q-132 0 -214 91t-82 249q0 156 84 248t217 92q112 0 189 -81l-46 -54q-60 62 -141 62q-99 0 -158 -71.5t-59 -193.5q0 -125 57 -197t161 -72q76 0 118 39v171h-139v69h215v-276q-73 -76 -202 -76z" /> -<glyph unicode="H" horiz-adv-x="652" d="M90 0v656h83v-275h305v275h84v-656h-84v309h-305v-309h-83z" /> -<glyph unicode="I" horiz-adv-x="263" d="M90 0v656h83v-656h-83z" /> -<glyph unicode="J" horiz-adv-x="480" d="M212 -12q-123 0 -181 105l60 42q41 -74 113 -74q53 0 79 33t26 107v455h84v-463q0 -91 -45 -148t-136 -57z" /> -<glyph unicode="K" horiz-adv-x="579" d="M90 0v656h83v-329h3l273 329h94l-205 -250l237 -406h-93l-196 341l-113 -133v-208h-83z" /> -<glyph unicode="L" horiz-adv-x="486" d="M90 0v656h83v-585h287v-71h-370z" /> -<glyph unicode="M" horiz-adv-x="727" d="M90 0v656h100l126 -350q8 -22 23.5 -68t23.5 -69h4q8 23 22.5 69t22.5 68l124 350h101v-656h-78v361q0 35 11 194h-4l-52 -149l-124 -340h-55l-124 340l-52 149h-4q10 -145 10 -194v-361h-75z" /> -<glyph unicode="N" horiz-adv-x="647" d="M90 0v656h86l237 -412l71 -136h4q-10 165 -10 209v339h79v-656h-86l-238 413l-71 135h-4q11 -145 11 -205v-343h-79z" /> -<glyph unicode="O" horiz-adv-x="664" d="M332 -12q-125 0 -202.5 93t-77.5 250q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -157 -78 -250t-203 -93zM332 61q88 0 141 73.5t53 196.5q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -123 53 -196.5t141 -73.5z" /> -<glyph unicode="P" horiz-adv-x="566" d="M90 0v656h187q246 0 246 -193q0 -100 -65 -151.5t-177 -51.5h-108v-260h-83zM173 328h98q86 0 127.5 33t41.5 102t-42 97.5t-131 28.5h-94v-261z" /> -<glyph unicode="Q" horiz-adv-x="664" d="M332 57q88 0 141 74t53 200q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -126 53 -200t141 -74zM533 -165q-87 0 -149.5 42.5t-92.5 113.5q-109 15 -174 106t-65 234q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -140 -63 -230.5t-169 -108.5q45 -87 161 -87q37 0 69 9 l16 -64q-37 -15 -94 -15z" /> -<glyph unicode="R" horiz-adv-x="569" d="M90 0v656h205q230 0 230 -184q0 -75 -39 -122t-109 -64l167 -286h-94l-158 277h-119v-277h-83zM173 345h110q159 0 159 127q0 62 -40 89.5t-119 27.5h-110v-244z" /> -<glyph unicode="S" horiz-adv-x="534" d="M272 -12q-136 0 -230 97l50 58q79 -82 181 -82q64 0 100.5 29t36.5 78q0 24 -7 41.5t-25.5 31.5t-32.5 21.5t-44 21.5l-94 41q-133 56 -133 169q0 75 58.5 124.5t147.5 49.5q115 0 194 -81l-45 -54q-65 62 -149 62q-55 0 -88.5 -26t-33.5 -70q0 -22 8.5 -39.5t27.5 -31 t33 -20.5t40 -18l93 -40q65 -28 100 -68t35 -107q0 -80 -61 -133.5t-162 -53.5z" /> -<glyph unicode="T" horiz-adv-x="536" d="M226 0v586h-198v70h480v-70h-198v-586h-84z" /> -<glyph unicode="U" horiz-adv-x="645" d="M323 -12q-109 0 -172.5 67t-63.5 216v385h83v-387q0 -208 153 -208q155 0 155 208v387h80v-385q0 -283 -235 -283z" /> -<glyph unicode="V" horiz-adv-x="515" d="M210 0l-210 656h89l105 -354q10 -32 30 -103.5t34 -113.5h4q14 44 35 118t28 99l105 354h85l-208 -656h-97z" /> -<glyph unicode="W" horiz-adv-x="786" d="M162 0l-139 656h86l69 -357q6 -35 19 -105.5t19 -106.5h4q8 39 24 111t22 101l91 357h76l91 -357q8 -34 48 -212h4q24 142 37 212l69 357h80l-136 -656h-100l-99 395q-17 71 -32 149h-4q-6 -29 -17.5 -80.5t-15.5 -68.5l-97 -395h-99z" /> -<glyph unicode="X" horiz-adv-x="513" d="M15 0l191 339l-178 317h92l89 -168q14 -25 51 -95h4q29 61 47 95l87 168h88l-179 -321l191 -335h-92l-96 177q-5 9 -24.5 45.5t-31.5 59.5h-4q-10 -20 -52 -105l-95 -177h-88z" /> -<glyph unicode="Y" horiz-adv-x="476" d="M196 0v254l-197 402h89l85 -185q46 -105 63 -143h4q57 122 66 143l84 185h87l-197 -402v-254h-84z" /> -<glyph unicode="Z" horiz-adv-x="539" d="M45 0v50l345 536h-314v70h418v-49l-346 -536h349v-71h-452z" /> -<glyph unicode="[" horiz-adv-x="303" d="M94 -152v860h179v-47h-117v-766h117v-47h-179z" /> -<glyph unicode="\" horiz-adv-x="350" d="M281 -160l-267 870h59l267 -870h-59z" /> -<glyph unicode="]" horiz-adv-x="303" d="M31 -152v47h116v766h-116v47h178v-860h-178z" /> -<glyph unicode="^" d="M60 284l152 386h73l152 -386h-72l-65 176l-49 133h-4l-50 -133l-65 -176h-72z" /> -<glyph unicode="_" horiz-adv-x="500" d="M12 -126v55h476v-55h-476z" /> -<glyph unicode="`" horiz-adv-x="542" d="M285 573l-157 153l58 55l141 -167z" /> -<glyph unicode="a" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5z" /> -<glyph unicode="b" horiz-adv-x="553" d="M297 -12q-71 0 -139 62h-3l-7 -50h-66v712h82v-194l-2 -88q77 68 152 68q93 0 143 -66t50 -181q0 -120 -61.5 -191.5t-148.5 -71.5zM283 57q61 0 100 52.5t39 140.5q0 179 -128 179q-59 0 -130 -66v-255q59 -51 119 -51z" /> -<glyph unicode="c" horiz-adv-x="456" d="M274 -12q-100 0 -164 68t-64 186t68 187t166 69q79 0 142 -57l-42 -54q-48 43 -97 43q-66 0 -109 -52.5t-43 -135.5t41.5 -134.5t108.5 -51.5q60 0 114 49l36 -55q-70 -62 -157 -62z" /> -<glyph unicode="d" horiz-adv-x="555" d="M248 -12q-93 0 -147 67t-54 187q0 115 62 185.5t149 70.5q67 0 136 -56l-4 83v187h83v-712h-68l-7 57h-3q-71 -69 -147 -69zM266 57q64 0 124 67v254q-57 51 -118 51q-59 0 -99.5 -52t-40.5 -134q0 -87 35.5 -136.5t98.5 -49.5z" /> -<glyph unicode="e" horiz-adv-x="496" d="M279 -12q-100 0 -166.5 69t-66.5 185q0 114 65 185t153 71q92 0 143 -61.5t51 -166.5q0 -29 -3 -47h-328q5 -77 48.5 -123t113.5 -46q62 0 121 38l29 -54q-78 -50 -160 -50zM126 282h260q0 73 -31.5 112t-88.5 39q-53 0 -93 -40.5t-47 -110.5z" /> -<glyph unicode="f" horiz-adv-x="292" d="M96 0v419h-66v62l66 5v77q0 76 35.5 118.5t106.5 42.5q42 0 81 -16l-18 -63q-27 12 -55 12q-68 0 -68 -94v-77h103v-67h-103v-419h-82z" /> -<glyph unicode="g" horiz-adv-x="504" d="M246 -224q-91 0 -146 34.5t-55 96.5t71 110v4q-43 27 -43 79q0 54 53 90v4q-63 51 -63 131q0 77 53 125t130 48q38 0 69 -12h169v-63h-100q40 -38 40 -100q0 -76 -51 -122.5t-127 -46.5q-39 0 -73 17q-31 -27 -31 -58q0 -53 86 -53h94q86 0 128 -28t42 -88 q0 -70 -68 -119t-178 -49zM246 209q43 0 73 32t30 84t-29.5 82.5t-73.5 30.5t-73.5 -30.5t-29.5 -82.5t30 -84t73 -32zM258 -167q67 0 110.5 29.5t43.5 69.5q0 33 -24.5 46.5t-73.5 13.5h-84q-35 0 -63 8q-50 -36 -50 -82q0 -39 37.5 -62t103.5 -23z" /> -<glyph unicode="h" horiz-adv-x="544" d="M82 0v712h82v-194l-3 -100q84 80 162 80q148 0 148 -190v-308h-82v297q0 68 -22 99t-70 31q-35 0 -64 -17.5t-69 -57.5v-352h-82z" /> -<glyph unicode="i" horiz-adv-x="246" d="M82 0v486h82v-486h-82zM124 586q-24 0 -40.5 15t-16.5 38q0 24 16.5 38.5t40.5 14.5t40.5 -14.5t16.5 -38.5q0 -23 -16.5 -38t-40.5 -15z" /> -<glyph unicode="j" horiz-adv-x="247" d="M32 -217q-40 0 -72 13l17 62q24 -8 46 -8q34 0 47 23.5t13 71.5v541h82v-541q0 -162 -133 -162zM125 586q-24 0 -40.5 15t-16.5 38q0 24 16.5 38.5t40.5 14.5t40 -14.5t16 -38.5q0 -23 -16 -38t-40 -15z" /> -<glyph unicode="k" horiz-adv-x="495" d="M82 0v712h81v-482h3l207 256h91l-163 -195l185 -291h-90l-142 234l-91 -106v-128h-81z" /> -<glyph unicode="l" horiz-adv-x="255" d="M169 -12q-87 0 -87 110v614h82v-620q0 -36 23 -36q9 0 18 2l11 -62q-18 -8 -47 -8z" /> -<glyph unicode="m" horiz-adv-x="829" d="M82 0v486h68l7 -70h3q75 82 151 82q102 0 134 -93q86 93 160 93q148 0 148 -190v-308h-82v297q0 68 -22 99t-68 31q-55 0 -122 -75v-352h-82v297q0 68 -22 99t-69 31q-54 0 -122 -75v-352h-82z" /> -<glyph unicode="n" horiz-adv-x="547" d="M82 0v486h68l7 -70h3q82 82 163 82q148 0 148 -190v-308h-82v297q0 68 -22 99t-70 31q-35 0 -64 -17.5t-69 -57.5v-352h-82z" /> -<glyph unicode="o" horiz-adv-x="542" d="M271 -12q-94 0 -159.5 69t-65.5 185q0 118 65.5 187t159.5 69t159.5 -69t65.5 -187q0 -116 -65.5 -185t-159.5 -69zM271 56q63 0 101.5 51.5t38.5 134.5q0 84 -38.5 136t-101.5 52q-62 0 -101 -52t-39 -136q0 -83 39 -134.5t101 -51.5z" /> -<glyph unicode="p" horiz-adv-x="555" d="M82 -205v691h68l7 -56h3q81 68 155 68q92 0 142 -66.5t50 -181.5q0 -119 -61.5 -190.5t-148.5 -71.5q-63 0 -135 56l2 -85v-164h-82zM283 57q61 0 100 52.5t39 140.5q0 179 -128 179q-56 0 -130 -66v-255q61 -51 119 -51z" /> -<glyph unicode="q" horiz-adv-x="555" d="M390 -205v173l4 88q-70 -68 -146 -68q-93 0 -147 67t-54 187q0 115 62 185.5t149 70.5q72 0 139 -58h2l8 46h66v-691h-83zM266 57q64 0 124 67v254q-57 51 -118 51q-59 0 -99.5 -52t-40.5 -134q0 -87 35.5 -136.5t98.5 -49.5z" /> -<glyph unicode="r" horiz-adv-x="347" d="M82 0v486h68l7 -88h3q25 47 61 73.5t77 26.5q29 0 52 -10l-16 -72q-26 8 -47 8q-34 0 -67 -27t-56 -85v-312h-82z" /> -<glyph unicode="s" horiz-adv-x="419" d="M209 -12q-100 0 -181 67l41 55q72 -58 143 -58q46 0 71 21.5t25 54.5q0 18 -9 32t-28 25.5t-33 18t-41 16.5q-32 11 -53 21t-44.5 27t-35.5 40t-12 52q0 60 45 99t122 39q83 0 151 -55l-39 -52q-57 43 -111 43q-43 0 -66 -20t-23 -50q0 -20 16.5 -36.5t31 -23.5t50.5 -20 q7 -3 10 -4q28 -11 43 -17t38.5 -19.5t35.5 -27t21.5 -35t9.5 -48.5q0 -62 -47.5 -103.5t-130.5 -41.5z" /> -<glyph unicode="t" horiz-adv-x="338" d="M235 -12q-139 0 -139 162v269h-72v62l76 5l10 136h69v-136h131v-67h-131v-270q0 -47 17 -70.5t58 -23.5q20 0 55 13l16 -62q-54 -18 -90 -18z" /> -<glyph unicode="u" horiz-adv-x="544" d="M224 -12q-149 0 -149 190v308h83v-297q0 -68 21.5 -99t69.5 -31q37 0 66 19t65 63v345h82v-486h-68l-7 76h-3q-75 -88 -160 -88z" /> -<glyph unicode="v" horiz-adv-x="467" d="M187 0l-175 486h85l92 -276q14 -47 45 -143h4q4 13 20 64t24 79l92 276h81l-172 -486h-96z" /> -<glyph unicode="w" horiz-adv-x="718" d="M159 0l-135 486h84l72 -281q12 -51 29 -135h4l33 135l75 281h80l76 -281q16 -61 34 -135h4q6 24 30 135l71 281h78l-130 -486h-100l-70 261q-7 26 -17.5 73t-15.5 67h-4q-23 -101 -34 -141l-68 -260h-96z" /> -<glyph unicode="x" horiz-adv-x="446" d="M14 0l159 254l-147 232h89l65 -107q33 -57 48 -81h4q24 47 44 81l59 107h86l-147 -241l158 -245h-89l-71 113q-30 52 -53 87h-4q-21 -35 -49 -87l-66 -113h-86z" /> -<glyph unicode="y" horiz-adv-x="467" d="M90 -209q-30 0 -57 10l16 65q23 -7 37 -7q75 0 110 104l11 36l-195 487h85l99 -269q20 -56 47 -137h4q8 26 23 76t18 61l87 269h80l-183 -526q-28 -80 -70.5 -124.5t-111.5 -44.5z" /> -<glyph unicode="z" horiz-adv-x="425" d="M31 0v44l256 375h-228v67h332v-44l-256 -375h264v-67h-368z" /> -<glyph unicode="{" horiz-adv-x="303" d="M228 -152q-62 0 -89.5 29t-27.5 104q0 37 4.5 98.5t4.5 94.5q0 77 -86 78v52q86 1 86 77q0 33 -4.5 95t-4.5 99q0 75 27.5 104t89.5 29h45v-47h-27q-39 0 -53.5 -20.5t-14.5 -70.5q0 -30 3 -88t3 -93q0 -49 -14 -74.5t-46 -34.5v-4q32 -9 46 -35t14 -74q0 -35 -3 -93 t-3 -88q0 -50 14.5 -70.5t53.5 -20.5h27v-47h-45z" /> -<glyph unicode="|" horiz-adv-x="241" d="M92 -250v1000h58v-1000h-58z" /> -<glyph unicode="}" horiz-adv-x="303" d="M31 -152v47h26q39 0 53.5 20.5t14.5 70.5q0 30 -2.5 88t-2.5 93q0 49 13.5 74.5t45.5 34.5v4q-32 9 -45.5 34.5t-13.5 74.5q0 35 2.5 93t2.5 88q0 50 -14.5 70.5t-53.5 20.5h-26v47h44q62 0 89.5 -29t27.5 -104q0 -37 -4.5 -99t-4.5 -95t20 -54.5t66 -22.5v-52 q-86 -1 -86 -78q0 -33 4.5 -94.5t4.5 -98.5q0 -75 -27.5 -104t-89.5 -29h-44z" /> -<glyph unicode="~" d="M336 257q-34 0 -66 21t-60 42t-51 21q-44 0 -77 -61l-46 33q51 90 125 90q34 0 66 -21t60 -42t51 -21q44 0 77 61l46 -34q-51 -89 -125 -89z" /> -<glyph unicode="¡" horiz-adv-x="289" d="M103 -184l2 94l11 378h57l11 -378l2 -94h-83zM145 372q-25 0 -42.5 18t-17.5 46q0 27 17.5 44.5t42.5 17.5q24 0 41.5 -17.5t17.5 -44.5q0 -28 -17 -46t-42 -18z" /> -<glyph unicode="¢" d="M143 310q0 -67 31.5 -111t87.5 -57v335q-55 -13 -87 -57t-32 -110zM262 -33v104q-92 11 -146.5 73.5t-54.5 165.5q0 100 56.5 162t144.5 75v106h52v-103q73 -4 131 -58l-40 -52q-44 39 -91 42v-344q56 4 104 47l36 -52q-64 -57 -140 -63v-103h-52z" /> -<glyph unicode="£" d="M54 0v50q50 27 78 75t28 105q0 24 -7 55h-100v52l67 4h18q-27 87 -27 125q0 84 51 134t135 50q94 0 155 -75l-48 -47q-43 53 -101 53q-53 0 -82 -32t-29 -85q0 -39 24 -123h159v-56h-146q5 -30 5 -56q0 -90 -62 -154v-4h281v-71h-399z" /> -<glyph unicode="¤" d="M70 103l-44 45l64 65q-36 49 -36 116q0 68 36 117l-64 66l44 45l68 -70q48 37 111 37q62 0 110 -37l68 70l44 -45l-65 -66q37 -50 37 -117q0 -66 -37 -116l65 -65l-44 -45l-68 69q-47 -38 -110 -38q-64 0 -111 38zM249 195q49 0 83.5 37.5t34.5 96.5t-34.5 96.5 t-83.5 37.5q-50 0 -84.5 -37.5t-34.5 -96.5t34.5 -96.5t84.5 -37.5z" /> -<glyph unicode="¥" d="M207 0v158h-162v48h162v65h-162v47h141l-163 320h86l78 -171q11 -25 32 -72t28 -63h4q13 27 34.5 75.5t26.5 59.5l78 171h84l-164 -320h142v-47h-163v-65h163v-48h-163v-158h-82z" /> -<glyph unicode="¦" horiz-adv-x="241" d="M92 291v459h58v-459h-58zM92 -250v464h58v-464h-58z" /> -<glyph unicode="§" d="M117 348q0 -31 21.5 -55t47.5 -36.5t68.5 -31.5t65.5 -32q60 28 60 85q0 26 -12.5 46t-35.5 35t-46.5 25.5t-55.5 24.5t-52 26q-61 -34 -61 -87zM236 -64q-107 0 -173 71l50 45q54 -52 123 -52q39 0 62 20t23 49q0 31 -28.5 54t-69 39.5t-81 36.5t-69 56.5t-28.5 87.5 q0 81 86 129q-32 34 -32 82q0 55 40 92.5t112 37.5q84 0 154 -57l-40 -53q-57 46 -111 46q-40 0 -59.5 -17.5t-19.5 -45.5q0 -25 20.5 -45t51.5 -33t66.5 -30.5t66.5 -36t51.5 -52t20.5 -76.5q0 -81 -85 -129q30 -35 30 -82q0 -59 -45.5 -98t-115.5 -39z" /> -<glyph unicode="¨" horiz-adv-x="542" d="M175 587q-22 0 -36 14.5t-14 35.5t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5t-35 -14.5zM367 587q-21 0 -35 14.5t-14 35.5t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" /> -<glyph unicode="©" horiz-adv-x="744" d="M372 -11q-135 0 -229 92.5t-94 241.5q0 148 94 239t229 91t229 -91t94 -239q0 -149 -94 -241.5t-229 -92.5zM372 31q116 0 196 81.5t80 210.5q0 128 -80 208.5t-196 80.5t-196 -80.5t-80 -208.5q0 -129 80 -210.5t196 -81.5zM380 125q-78 0 -130 53.5t-52 144.5 q0 84 54.5 136.5t130.5 52.5q68 0 125 -57l-35 -39q-43 41 -87 41q-54 0 -88 -37.5t-34 -96.5q0 -66 32.5 -104.5t86.5 -38.5q51 0 102 44l30 -42q-66 -57 -135 -57z" /> -<glyph unicode="ª" horiz-adv-x="345" d="M136 387q-44 0 -71.5 25.5t-27.5 68.5q0 52 47.5 80t151.5 39q-2 73 -62 73q-47 0 -101 -34l-23 43q69 42 133 42q115 0 115 -133v-196h-50l-7 37h-4q-51 -45 -101 -45zM154 436q39 0 82 40v85q-138 -15 -138 -75q0 -50 56 -50z" /> -<glyph unicode="«" horiz-adv-x="429" d="M181 66l-136 155v62l136 155l36 -30l-118 -156l118 -158zM339 66l-136 155v62l136 155l36 -30l-118 -156l118 -158z" /> -<glyph unicode="¬" d="M397 104v195h-363v62h429v-257h-66z" /> -<glyph unicode="­" horiz-adv-x="311" d="M41 219v63h230v-63h-230z" /> -<glyph unicode="®" horiz-adv-x="423" d="M211 319q-79 0 -133.5 55.5t-54.5 141.5t54.5 141.5t133.5 55.5t134 -55.5t55 -141.5t-55 -141.5t-134 -55.5zM211 356q64 0 106.5 45t42.5 115t-42.5 115.5t-106.5 45.5q-63 0 -105.5 -45.5t-42.5 -115.5q0 -71 42 -115.5t106 -44.5zM139 417v203h76q78 0 78 -65 q0 -18 -10.5 -33.5t-26.5 -21.5l46 -83h-46l-35 70h-41v-70h-41zM180 519h26q43 0 43 34q0 33 -41 33h-28v-67z" /> -<glyph unicode="¯" horiz-adv-x="542" d="M138 601v57h266v-57h-266z" /> -<glyph unicode="°" horiz-adv-x="331" d="M166 429q-52 0 -88.5 35.5t-36.5 91.5q0 58 36.5 93.5t88.5 35.5t88.5 -35.5t36.5 -93.5q0 -56 -36.5 -91.5t-88.5 -35.5zM166 475q33 0 54 23t21 58q0 37 -21 60t-54 23t-54 -23t-21 -60q0 -35 21 -58t54 -23z" /> -<glyph unicode="±" d="M216 127v177h-182v62h182v190h65v-190h182v-62h-182v-177h-65zM34 0v62h429v-62h-429z" /> -<glyph unicode="²" horiz-adv-x="367" d="M52 395v37q104 93 144.5 140.5t40.5 88.5q0 38 -20 60t-55 22q-45 0 -84 -57l-38 35q51 76 130 76q60 0 95 -33t35 -93q0 -27 -9 -52t-34.5 -57t-42 -50t-59.5 -62h165v-55h-268z" /> -<glyph unicode="³" horiz-adv-x="367" d="M180 383q-93 0 -145 76l43 33q39 -58 99 -58q33 0 55.5 19t22.5 51q0 33 -31.5 51t-89.5 18v41q49 0 77.5 19.5t28.5 50.5q0 28 -19.5 45t-51.5 17q-41 0 -79 -47l-39 34q56 64 128 64q52 0 88 -28.5t36 -76.5q0 -64 -68 -96q36 -9 60 -34t24 -62q0 -53 -40 -85t-99 -32z " /> -<glyph unicode="´" horiz-adv-x="542" d="M257 573l-42 41l141 167l58 -55z" /> -<glyph unicode="µ" horiz-adv-x="562" d="M82 -179v665h82v-297q0 -130 89 -130q37 0 67.5 19.5t61.5 75.5v332h83q-1 -44 -2.5 -126.5t-2.5 -147.5t-1 -117q0 -39 36 -39q13 0 29 6l11 -62q-24 -12 -58 -12q-41 0 -62 22.5t-26 71.5h-2q-52 -92 -135 -92q-66 0 -94 47q1 -129 7 -216h-83z" /> -<glyph unicode="¶" horiz-adv-x="560" d="M380 -80v736h84v-736h-84zM293 226q-115 0 -183.5 54t-68.5 163q0 112 65 162.5t176 50.5h44v-430h-33z" /> -<glyph unicode="·" horiz-adv-x="249" d="M125 259q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5z" /> -<glyph unicode="¸" horiz-adv-x="542" d="M190 -226l-8 40q61 4 85 16t24 34q0 20 -17.5 31t-59.5 17l44 91h53l-29 -67q73 -17 73 -71q0 -83 -165 -91z" /> -<glyph unicode="¹" horiz-adv-x="367" d="M172 395v308h-85v42q57 10 97 40h52v-390h-64z" /> -<glyph unicode="º" horiz-adv-x="365" d="M182 387q-65 0 -108.5 45.5t-43.5 122.5q0 78 43.5 123.5t108.5 45.5q64 0 108 -45.5t44 -123.5q0 -77 -44 -122.5t-108 -45.5zM182 438q41 0 64.5 32.5t23.5 84.5q0 54 -23.5 86t-64.5 32t-65 -32t-24 -86q0 -52 24 -84.5t65 -32.5z" /> -<glyph unicode="»" horiz-adv-x="429" d="M89 66l-35 28l118 158l-118 156l35 30l137 -155v-62zM247 66l-35 28l118 158l-118 156l35 30l137 -155v-62z" /> -<glyph unicode="¼" horiz-adv-x="781" d="M148 266v308h-85v42q57 10 97 40h52v-390h-64zM180 -12l362 680h56l-362 -680h-56zM633 0v104h-178v33l164 253h72v-240h58v-46h-58v-104h-58zM522 150h111v70l4 109h-4l-50 -81z" /> -<glyph unicode="½" horiz-adv-x="808" d="M148 266v308h-85v42q57 10 97 40h52v-390h-64zM160 -12l362 680h56l-362 -680h-56zM493 0v37q104 93 144.5 140.5t40.5 88.5q0 38 -20 60t-55 22q-45 0 -84 -57l-38 35q51 76 130 76q60 0 95 -33t35 -93q0 -27 -9 -52t-34.5 -57t-42 -50t-59.5 -62h165v-55h-268z" /> -<glyph unicode="¾" horiz-adv-x="796" d="M179 254q-93 0 -145 76l43 33q39 -58 99 -58q33 0 55.5 18.5t22.5 51.5t-31.5 51t-89.5 18v41q49 0 77.5 19.5t28.5 50.5q0 28 -19.5 45t-51.5 17q-41 0 -79 -47l-39 34q56 64 128 64q52 0 88 -28.5t36 -76.5q0 -64 -68 -96q36 -9 60 -34t24 -62q0 -53 -40 -85t-99 -32z M218 -12l362 680h56l-362 -680h-56zM648 0v104h-178v33l164 253h72v-240h58v-46h-58v-104h-58zM537 150h111v70l4 109h-4l-50 -81z" /> -<glyph unicode="¿" horiz-adv-x="425" d="M215 -196q-76 0 -121.5 43t-45.5 117q0 36 16.5 70t39 61t45 55t35.5 63.5t8 74.5h73q6 -43 -5.5 -82t-33 -68t-43.5 -55t-38.5 -55.5t-16.5 -58.5q0 -42 25 -69t72 -27q65 0 114 57l48 -43q-76 -83 -172 -83zM227 372q-25 0 -42.5 18t-17.5 46q0 27 17.5 44.5t42.5 17.5 q24 0 41.5 -17.5t17.5 -44.5q0 -28 -17 -46t-42 -18z" /> -<glyph unicode="À" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85zM287 697l-152 115l47 55l142 -128z" /> -<glyph unicode="Á" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85zM253 697l-37 42l142 128l47 -55z" /> -<glyph unicode="Â" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85zM122 725l105 113h86l105 -113l-36 -26l-110 93h-4l-110 -93z" /> -<glyph unicode="Ã" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85zM345 709q-32 0 -59 17.5t-48.5 35.5t-40.5 18t-32 -17t-16 -49l-56 4q3 57 30 90t72 33q32 0 59 -17.5t48.5 -35.5t40.5 -18q40 0 48 66 l56 -4q-3 -58 -30 -90.5t-72 -32.5z" /> -<glyph unicode="Ä" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85zM167 715q-21 0 -35 14t-14 35q0 22 14 35.5t35 13.5q22 0 35.5 -13.5t13.5 -35.5q0 -21 -13.5 -35t-35.5 -14zM373 715q-22 0 -35.5 14 t-13.5 35q0 22 13.5 35.5t35.5 13.5q21 0 35 -13.5t14 -35.5q0 -21 -14 -35t-35 -14z" /> -<glyph unicode="Å" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85zM270 699q-42 0 -69.5 25t-27.5 65q0 41 27.5 66t69.5 25t69.5 -25t27.5 -66q0 -40 -27.5 -65t-69.5 -25zM270 735q21 0 36 14.5t15 39.5 t-15 39.5t-36 14.5q-22 0 -37 -14.5t-15 -39.5t14.5 -39.5t37.5 -14.5z" /> -<glyph unicode="Æ" horiz-adv-x="822" d="M290 376l-61 -118h172v332h-4q-53 -107 -107 -214zM8 0l344 656h411v-70h-278v-206h232v-71h-232v-238h288v-71h-372v191h-206l-99 -191h-88z" /> -<glyph unicode="Ç" horiz-adv-x="571" d="M256 -226l-8 40q61 4 85 16t24 34q0 20 -17.5 31t-59.5 17l37 77q-118 8 -191.5 98.5t-73.5 240.5q0 155 81.5 247.5t209.5 92.5q108 0 180 -81l-45 -54q-59 62 -134 62q-93 0 -149.5 -71.5t-56.5 -193.5q0 -124 55 -196.5t148 -72.5q84 0 152 74l46 -52 q-71 -82 -168 -93l-23 -54q73 -17 73 -71q0 -83 -165 -91z" /> -<glyph unicode="È" horiz-adv-x="527" d="M90 0v656h378v-70h-295v-206h249v-71h-249v-238h305v-71h-388zM301 697l-152 115l47 55l142 -128z" /> -<glyph unicode="É" horiz-adv-x="527" d="M90 0v656h378v-70h-295v-206h249v-71h-249v-238h305v-71h-388zM267 697l-37 42l142 128l47 -55z" /> -<glyph unicode="Ê" horiz-adv-x="527" d="M90 0v656h378v-70h-295v-206h249v-71h-249v-238h305v-71h-388zM136 725l105 113h86l105 -113l-36 -26l-110 93h-4l-110 -93z" /> -<glyph unicode="Ë" horiz-adv-x="527" d="M90 0v656h378v-70h-295v-206h249v-71h-249v-238h305v-71h-388zM181 715q-21 0 -35 14t-14 35q0 22 14 35.5t35 13.5q22 0 35.5 -13.5t13.5 -35.5q0 -21 -13.5 -35t-35.5 -14zM387 715q-22 0 -35.5 14t-13.5 35q0 22 13.5 35.5t35.5 13.5q21 0 35 -13.5t14 -35.5 q0 -21 -14 -35t-35 -14z" /> -<glyph unicode="Ì" horiz-adv-x="263" d="M90 0v656h83v-656h-83zM148 697l-152 115l47 55l142 -128z" /> -<glyph unicode="Í" horiz-adv-x="263" d="M90 0v656h83v-656h-83zM114 697l-37 42l142 128l47 -55z" /> -<glyph unicode="Î" horiz-adv-x="263" d="M90 0v656h83v-656h-83zM-17 725l105 113h86l105 -113l-36 -26l-110 93h-4l-110 -93z" /> -<glyph unicode="Ï" horiz-adv-x="263" d="M90 0v656h83v-656h-83zM28 715q-21 0 -35 14t-14 35q0 22 14 35.5t35 13.5q22 0 35.5 -13.5t13.5 -35.5q0 -21 -13.5 -35t-35.5 -14zM234 715q-22 0 -35.5 14t-13.5 35q0 22 13.5 35.5t35.5 13.5q21 0 35 -13.5t14 -35.5q0 -21 -14 -35t-35 -14z" /> -<glyph unicode="Ð" horiz-adv-x="638" d="M33 321v43l79 4v288h164q151 0 230.5 -84t79.5 -241q0 -158 -79 -244.5t-227 -86.5h-168v321h-79zM195 68h75q113 0 171.5 68.5t58.5 194.5q0 125 -58 191t-172 66h-75v-220h149v-47h-149v-253z" /> -<glyph unicode="Ñ" horiz-adv-x="647" d="M90 0v656h86l237 -412l71 -136h4q-10 165 -10 209v339h79v-656h-86l-238 413l-71 135h-4q11 -145 11 -205v-343h-79zM402 709q-32 0 -59 17.5t-48.5 35.5t-40.5 18t-32 -17t-16 -49l-56 4q3 57 30 90t72 33q32 0 59 -17.5t48.5 -35.5t40.5 -18q40 0 48 66l56 -4 q-3 -58 -30 -90.5t-72 -32.5z" /> -<glyph unicode="Ò" horiz-adv-x="664" d="M332 -12q-125 0 -202.5 93t-77.5 250q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -157 -78 -250t-203 -93zM332 61q88 0 141 73.5t53 196.5q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -123 53 -196.5t141 -73.5zM349 697l-152 115l47 55l142 -128z" /> -<glyph unicode="Ó" horiz-adv-x="664" d="M332 -12q-125 0 -202.5 93t-77.5 250q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -157 -78 -250t-203 -93zM332 61q88 0 141 73.5t53 196.5q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -123 53 -196.5t141 -73.5zM315 697l-37 42l142 128l47 -55z" /> -<glyph unicode="Ô" horiz-adv-x="664" d="M332 -12q-125 0 -202.5 93t-77.5 250q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -157 -78 -250t-203 -93zM332 61q88 0 141 73.5t53 196.5q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -123 53 -196.5t141 -73.5zM184 725l105 113h86l105 -113l-36 -26l-110 93h-4 l-110 -93z" /> -<glyph unicode="Õ" horiz-adv-x="664" d="M332 -12q-125 0 -202.5 93t-77.5 250q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -157 -78 -250t-203 -93zM332 61q88 0 141 73.5t53 196.5q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -123 53 -196.5t141 -73.5zM407 709q-32 0 -59 17.5t-48.5 35.5t-40.5 18t-32 -17 t-16 -49l-56 4q3 57 30 90t72 33q32 0 59 -17.5t48.5 -35.5t40.5 -18q40 0 48 66l56 -4q-3 -58 -30 -90.5t-72 -32.5z" /> -<glyph unicode="Ö" horiz-adv-x="664" d="M332 -12q-125 0 -202.5 93t-77.5 250q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -157 -78 -250t-203 -93zM332 61q88 0 141 73.5t53 196.5q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -123 53 -196.5t141 -73.5zM229 715q-21 0 -35 14t-14 35q0 22 14 35.5t35 13.5 q22 0 35.5 -13.5t13.5 -35.5q0 -21 -13.5 -35t-35.5 -14zM435 715q-22 0 -35.5 14t-13.5 35q0 22 13.5 35.5t35.5 13.5q21 0 35 -13.5t14 -35.5q0 -21 -14 -35t-35 -14z" /> -<glyph unicode="×" d="M94 126l-44 45l155 159l-155 158l44 45l155 -159l154 159l44 -45l-155 -158l155 -159l-44 -45l-154 160z" /> -<glyph unicode="Ø" horiz-adv-x="664" d="M335 -12q-104 0 -175 65l-64 -83l-46 36l70 91q-65 94 -65 234q0 155 77.5 246t202.5 91q104 0 176 -63l62 81l46 -35l-69 -89q66 -91 66 -231q0 -157 -78 -250t-203 -93zM141 331q0 -95 33 -163l288 373q-51 54 -127 54q-88 0 -141 -71t-53 -193zM335 61q88 0 141 73.5 t53 196.5q0 94 -33 160l-287 -374q50 -56 126 -56z" /> -<glyph unicode="Ù" horiz-adv-x="645" d="M323 -12q-109 0 -172.5 67t-63.5 216v385h83v-387q0 -208 153 -208q155 0 155 208v387h80v-385q0 -283 -235 -283zM340 697l-152 115l47 55l142 -128z" /> -<glyph unicode="Ú" horiz-adv-x="645" d="M323 -12q-109 0 -172.5 67t-63.5 216v385h83v-387q0 -208 153 -208q155 0 155 208v387h80v-385q0 -283 -235 -283zM306 697l-37 42l142 128l47 -55z" /> -<glyph unicode="Û" horiz-adv-x="645" d="M323 -12q-109 0 -172.5 67t-63.5 216v385h83v-387q0 -208 153 -208q155 0 155 208v387h80v-385q0 -283 -235 -283zM175 725l105 113h86l105 -113l-36 -26l-110 93h-4l-110 -93z" /> -<glyph unicode="Ü" horiz-adv-x="645" d="M323 -12q-109 0 -172.5 67t-63.5 216v385h83v-387q0 -208 153 -208q155 0 155 208v387h80v-385q0 -283 -235 -283zM220 715q-21 0 -35 14t-14 35q0 22 14 35.5t35 13.5q22 0 35.5 -13.5t13.5 -35.5q0 -21 -13.5 -35t-35.5 -14zM426 715q-22 0 -35.5 14t-13.5 35 q0 22 13.5 35.5t35.5 13.5q21 0 35 -13.5t14 -35.5q0 -21 -14 -35t-35 -14z" /> -<glyph unicode="Ý" horiz-adv-x="476" d="M196 0v254l-197 402h89l85 -185q46 -105 63 -143h4q57 122 66 143l84 185h87l-197 -402v-254h-84zM221 697l-37 42l142 128l47 -55z" /> -<glyph unicode="Þ" horiz-adv-x="583" d="M90 0v656h83v-110h118q242 0 242 -193q0 -101 -65 -152t-177 -51h-118v-150h-83zM173 218h108q86 0 127.5 32.5t41.5 102.5q0 69 -40.5 97t-128.5 28h-108v-260z" /> -<glyph unicode="ß" horiz-adv-x="576" d="M387 -12q-74 0 -141 49l33 58q52 -43 106 -43q39 0 61.5 23.5t22.5 56.5q0 32 -20.5 55t-49.5 37.5t-57.5 30.5t-49 43.5t-20.5 65.5q0 30 14 58t30 46.5t30 45t14 54.5q0 39 -21.5 63t-61.5 24q-54 0 -83.5 -39.5t-29.5 -115.5v-500h-82v515q0 95 51.5 151t144.5 56 q76 0 119.5 -42t43.5 -104q0 -34 -14 -64t-31.5 -48.5t-31.5 -42.5t-14 -47q0 -26 20.5 -45.5t49.5 -34t57.5 -31.5t49 -49t20.5 -77q0 -64 -43.5 -106.5t-116.5 -42.5z" /> -<glyph unicode="à" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5zM277 573 l-157 153l58 55l141 -167z" /> -<glyph unicode="á" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5zM249 573 l-42 41l141 167l58 -55z" /> -<glyph unicode="â" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5zM108 600 l114 140h82l114 -140l-35 -32l-118 113h-4l-118 -113z" /> -<glyph unicode="ã" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5zM335 577 q-30 0 -56 21t-47.5 42t-39.5 21q-42 0 -47 -79l-55 3q2 62 27 99t74 37q30 0 56 -21t47.5 -42t40.5 -21q41 0 46 79l55 -4q-2 -62 -27 -98.5t-74 -36.5z" /> -<glyph unicode="ä" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5zM167 587 q-22 0 -36 14.5t-14 35.5t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5t-35 -14.5zM359 587q-21 0 -35 14.5t-14 35.5t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" /> -<glyph unicode="å" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5zM263 554 q-50 0 -80 28t-30 71t30 70.5t80 27.5t80 -27.5t30 -70.5t-30 -71t-80 -28zM263 591q25 0 41 17t16 45q0 27 -16.5 44t-40.5 17t-40.5 -17t-16.5 -44q0 -28 16 -45t41 -17z" /> -<glyph unicode="æ" horiz-adv-x="785" d="M201 -12q-63 0 -103 37t-40 101q0 79 70.5 122t223.5 60q0 122 -99 122q-65 0 -141 -52l-33 57q98 63 184 63q106 0 139 -103q62 103 160 103q88 0 136.5 -61.5t48.5 -167.5q0 -28 -3 -46h-315q3 -75 45.5 -121.5t105.5 -46.5q55 0 118 40l30 -57q-78 -50 -158 -50 q-101 0 -171 91q-102 -91 -198 -91zM224 54q35 0 75 20t72 55q-17 39 -19 100v25q-113 -15 -163 -44.5t-50 -77.5q0 -39 23.5 -58.5t61.5 -19.5zM429 278h246q0 75 -29.5 115t-85.5 40q-51 0 -87.5 -42.5t-43.5 -112.5z" /> -<glyph unicode="ç" horiz-adv-x="456" d="M185 -226l-8 40q61 4 85 16t24 34q0 20 -17.5 31t-59.5 17l37 77q-89 10 -144.5 77t-55.5 176q0 118 68 187t166 69q79 0 142 -57l-42 -54q-48 43 -97 43q-66 0 -109 -52.5t-43 -135.5t41.5 -134.5t108.5 -51.5q60 0 114 49l36 -55q-59 -52 -131 -60l-23 -54 q73 -17 73 -71q0 -83 -165 -91z" /> -<glyph unicode="è" horiz-adv-x="496" d="M279 -12q-100 0 -166.5 69t-66.5 185q0 114 65 185t153 71q92 0 143 -61.5t51 -166.5q0 -29 -3 -47h-328q5 -77 48.5 -123t113.5 -46q62 0 121 38l29 -54q-78 -50 -160 -50zM126 282h260q0 73 -31.5 112t-88.5 39q-53 0 -93 -40.5t-47 -110.5zM278 573l-157 153l58 55 l141 -167z" /> -<glyph unicode="é" horiz-adv-x="496" d="M279 -12q-100 0 -166.5 69t-66.5 185q0 114 65 185t153 71q92 0 143 -61.5t51 -166.5q0 -29 -3 -47h-328q5 -77 48.5 -123t113.5 -46q62 0 121 38l29 -54q-78 -50 -160 -50zM126 282h260q0 73 -31.5 112t-88.5 39q-53 0 -93 -40.5t-47 -110.5zM250 573l-42 41l141 167 l58 -55z" /> -<glyph unicode="ê" horiz-adv-x="496" d="M279 -12q-100 0 -166.5 69t-66.5 185q0 114 65 185t153 71q92 0 143 -61.5t51 -166.5q0 -29 -3 -47h-328q5 -77 48.5 -123t113.5 -46q62 0 121 38l29 -54q-78 -50 -160 -50zM126 282h260q0 73 -31.5 112t-88.5 39q-53 0 -93 -40.5t-47 -110.5zM109 600l114 140h82 l114 -140l-35 -32l-118 113h-4l-118 -113z" /> -<glyph unicode="ë" horiz-adv-x="496" d="M279 -12q-100 0 -166.5 69t-66.5 185q0 114 65 185t153 71q92 0 143 -61.5t51 -166.5q0 -29 -3 -47h-328q5 -77 48.5 -123t113.5 -46q62 0 121 38l29 -54q-78 -50 -160 -50zM126 282h260q0 73 -31.5 112t-88.5 39q-53 0 -93 -40.5t-47 -110.5zM168 587q-22 0 -36 14.5 t-14 35.5t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5t-35 -14.5zM360 587q-21 0 -35 14.5t-14 35.5t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" /> -<glyph unicode="ì" horiz-adv-x="246" d="M82 0v486h82v-486h-82zM137 573l-157 153l58 55l141 -167z" /> -<glyph unicode="í" horiz-adv-x="246" d="M82 0v486h82v-486h-82zM109 573l-42 41l141 167l58 -55z" /> -<glyph unicode="î" horiz-adv-x="246" d="M82 0v486h82v-486h-82zM-32 600l114 140h82l114 -140l-35 -32l-118 113h-4l-118 -113z" /> -<glyph unicode="ï" horiz-adv-x="246" d="M82 0v486h82v-486h-82zM27 587q-22 0 -36 14.5t-14 35.5t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5t-35 -14.5zM219 587q-21 0 -35 14.5t-14 35.5t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" /> -<glyph unicode="ð" horiz-adv-x="545" d="M269 -12q-89 0 -152.5 64.5t-63.5 169.5q0 100 58.5 162.5t147.5 62.5q84 0 134 -66q-24 111 -107 192l-141 -73l-24 41l127 65q-52 40 -112 72l38 52q83 -45 138 -91l142 73l24 -41l-129 -66q136 -138 136 -348q0 -120 -59.5 -194.5t-156.5 -74.5zM271 56 q66 0 100.5 53.5t34.5 144.5q0 21 -2 55q-55 74 -133 74q-65 0 -102.5 -45t-37.5 -116q0 -73 41 -119.5t99 -46.5z" /> -<glyph unicode="ñ" horiz-adv-x="547" d="M82 0v486h68l7 -70h3q82 82 163 82q148 0 148 -190v-308h-82v297q0 68 -22 99t-70 31q-35 0 -64 -17.5t-69 -57.5v-352h-82zM364 577q-30 0 -56 21t-47.5 42t-39.5 21q-42 0 -47 -79l-55 3q2 62 27 99t74 37q30 0 56 -21t47.5 -42t40.5 -21q41 0 46 79l55 -4 q-2 -62 -27 -98.5t-74 -36.5z" /> -<glyph unicode="ò" horiz-adv-x="542" d="M271 -12q-94 0 -159.5 69t-65.5 185q0 118 65.5 187t159.5 69t159.5 -69t65.5 -187q0 -116 -65.5 -185t-159.5 -69zM271 56q63 0 101.5 51.5t38.5 134.5q0 84 -38.5 136t-101.5 52q-62 0 -101 -52t-39 -136q0 -83 39 -134.5t101 -51.5zM285 573l-157 153l58 55l141 -167z " /> -<glyph unicode="ó" horiz-adv-x="542" d="M271 -12q-94 0 -159.5 69t-65.5 185q0 118 65.5 187t159.5 69t159.5 -69t65.5 -187q0 -116 -65.5 -185t-159.5 -69zM271 56q63 0 101.5 51.5t38.5 134.5q0 84 -38.5 136t-101.5 52q-62 0 -101 -52t-39 -136q0 -83 39 -134.5t101 -51.5zM257 573l-42 41l141 167l58 -55z " /> -<glyph unicode="ô" horiz-adv-x="542" d="M271 -12q-94 0 -159.5 69t-65.5 185q0 118 65.5 187t159.5 69t159.5 -69t65.5 -187q0 -116 -65.5 -185t-159.5 -69zM271 56q63 0 101.5 51.5t38.5 134.5q0 84 -38.5 136t-101.5 52q-62 0 -101 -52t-39 -136q0 -83 39 -134.5t101 -51.5zM116 600l114 140h82l114 -140 l-35 -32l-118 113h-4l-118 -113z" /> -<glyph unicode="õ" horiz-adv-x="542" d="M271 -12q-94 0 -159.5 69t-65.5 185q0 118 65.5 187t159.5 69t159.5 -69t65.5 -187q0 -116 -65.5 -185t-159.5 -69zM271 56q63 0 101.5 51.5t38.5 134.5q0 84 -38.5 136t-101.5 52q-62 0 -101 -52t-39 -136q0 -83 39 -134.5t101 -51.5zM343 577q-30 0 -56 21t-47.5 42 t-39.5 21q-42 0 -47 -79l-55 3q2 62 27 99t74 37q30 0 56 -21t47.5 -42t40.5 -21q41 0 46 79l55 -4q-2 -62 -27 -98.5t-74 -36.5z" /> -<glyph unicode="ö" horiz-adv-x="542" d="M271 -12q-94 0 -159.5 69t-65.5 185q0 118 65.5 187t159.5 69t159.5 -69t65.5 -187q0 -116 -65.5 -185t-159.5 -69zM271 56q63 0 101.5 51.5t38.5 134.5q0 84 -38.5 136t-101.5 52q-62 0 -101 -52t-39 -136q0 -83 39 -134.5t101 -51.5zM175 587q-22 0 -36 14.5t-14 35.5 t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5t-35 -14.5zM367 587q-21 0 -35 14.5t-14 35.5t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" /> -<glyph unicode="÷" d="M34 299v62h429v-62h-429zM249 96q-24 0 -39.5 15t-15.5 39q0 23 16 38t39 15t38.5 -15t15.5 -38q0 -24 -15.5 -39t-38.5 -15zM249 456q-24 0 -39.5 15t-15.5 39q0 23 16 38t39 15t38.5 -15t15.5 -38q0 -24 -15.5 -39t-38.5 -15z" /> -<glyph unicode="ø" horiz-adv-x="542" d="M271 -12q-79 0 -139 49l-49 -60l-37 29l54 65q-54 70 -54 171q0 118 65.5 187t159.5 69q80 0 139 -50l50 61l36 -29l-54 -65q54 -70 54 -173q0 -116 -65.5 -185t-159.5 -69zM127 246q0 -67 23 -113l214 259q-37 40 -93 40q-63 0 -103.5 -52t-40.5 -134zM271 54 q63 0 103.5 51.5t40.5 133.5q0 67 -24 114l-213 -260q39 -39 93 -39z" /> -<glyph unicode="ù" horiz-adv-x="544" d="M224 -12q-149 0 -149 190v308h83v-297q0 -68 21.5 -99t69.5 -31q37 0 66 19t65 63v345h82v-486h-68l-7 76h-3q-75 -88 -160 -88zM286 573l-157 153l58 55l141 -167z" /> -<glyph unicode="ú" horiz-adv-x="544" d="M224 -12q-149 0 -149 190v308h83v-297q0 -68 21.5 -99t69.5 -31q37 0 66 19t65 63v345h82v-486h-68l-7 76h-3q-75 -88 -160 -88zM258 573l-42 41l141 167l58 -55z" /> -<glyph unicode="û" horiz-adv-x="544" d="M224 -12q-149 0 -149 190v308h83v-297q0 -68 21.5 -99t69.5 -31q37 0 66 19t65 63v345h82v-486h-68l-7 76h-3q-75 -88 -160 -88zM117 600l114 140h82l114 -140l-35 -32l-118 113h-4l-118 -113z" /> -<glyph unicode="ü" horiz-adv-x="544" d="M224 -12q-149 0 -149 190v308h83v-297q0 -68 21.5 -99t69.5 -31q37 0 66 19t65 63v345h82v-486h-68l-7 76h-3q-75 -88 -160 -88zM176 587q-22 0 -36 14.5t-14 35.5t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5t-35 -14.5zM368 587q-21 0 -35 14.5t-14 35.5 t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" /> -<glyph unicode="ý" horiz-adv-x="467" d="M90 -209q-30 0 -57 10l16 65q23 -7 37 -7q75 0 110 104l11 36l-195 487h85l99 -269q20 -56 47 -137h4q8 26 23 76t18 61l87 269h80l-183 -526q-28 -80 -70.5 -124.5t-111.5 -44.5zM229 573l-42 41l141 167l58 -55z" /> -<glyph unicode="þ" horiz-adv-x="555" d="M82 -205v917h82v-194l-1 -83q80 63 148 63q94 0 145 -66.5t51 -181.5q0 -119 -61.5 -190.5t-148.5 -71.5q-64 0 -134 54l1 -83v-164h-82zM283 57q61 0 100 52.5t39 140.5q0 179 -128 179q-56 0 -130 -66v-255q61 -51 119 -51z" /> -<glyph unicode="ÿ" horiz-adv-x="467" d="M90 -209q-30 0 -57 10l16 65q23 -7 37 -7q75 0 110 104l11 36l-195 487h85l99 -269q20 -56 47 -137h4q8 26 23 76t18 61l87 269h80l-183 -526q-28 -80 -70.5 -124.5t-111.5 -44.5zM147 587q-22 0 -36 14.5t-14 35.5t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5 t-35 -14.5zM339 587q-21 0 -35 14.5t-14 35.5t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" /> -<glyph unicode="Œ" horiz-adv-x="847" d="M369 0q-149 0 -233 87t-84 244q0 156 84 240.5t237 84.5h415v-70h-278v-206h232v-71h-232v-238h288v-71h-429zM379 68h48v520h-48q-118 0 -179.5 -66t-61.5 -191q0 -126 61.5 -194.5t179.5 -68.5z" /> -<glyph unicode="œ" horiz-adv-x="839" d="M264 -12q-92 0 -155 68.5t-63 185.5q0 118 63.5 187t156.5 69q56 0 103 -32t73 -90q28 57 73 89.5t98 32.5q89 0 138.5 -61.5t49.5 -167.5q0 -28 -3 -46h-319q3 -75 46.5 -121.5t106.5 -46.5q57 0 120 40l30 -57q-78 -50 -160 -50q-57 0 -104 32t-75 89 q-57 -121 -179 -121zM266 56q60 0 98 51.5t38 134.5q0 84 -38 136t-98 52t-98 -52t-38 -136q0 -83 38 -134.5t98 -51.5zM479 278h250q0 74 -31 114.5t-87 40.5q-51 0 -88 -42.5t-44 -112.5z" /> -<glyph unicode="Ÿ" horiz-adv-x="476" d="M196 0v254l-197 402h89l85 -185q46 -105 63 -143h4q57 122 66 143l84 185h87l-197 -402v-254h-84zM135 715q-21 0 -35 14t-14 35q0 22 14 35.5t35 13.5q22 0 35.5 -13.5t13.5 -35.5q0 -21 -13.5 -35t-35.5 -14zM341 715q-22 0 -35.5 14t-13.5 35q0 22 13.5 35.5 t35.5 13.5q21 0 35 -13.5t14 -35.5q0 -21 -14 -35t-35 -14z" /> -<glyph unicode="ˆ" horiz-adv-x="542" d="M116 600l114 140h82l114 -140l-35 -32l-118 113h-4l-118 -113z" /> -<glyph unicode="˜" horiz-adv-x="542" d="M343 577q-30 0 -56 21t-47.5 42t-39.5 21q-42 0 -47 -79l-55 3q2 62 27 99t74 37q30 0 56 -21t47.5 -42t40.5 -21q41 0 46 79l55 -4q-2 -62 -27 -98.5t-74 -36.5z" /> -<glyph unicode=" " horiz-adv-x="440" /> -<glyph unicode=" " horiz-adv-x="880" /> -<glyph unicode=" " horiz-adv-x="440" /> -<glyph unicode=" " horiz-adv-x="880" /> -<glyph unicode=" " horiz-adv-x="293" /> -<glyph unicode=" " horiz-adv-x="220" /> -<glyph unicode=" " horiz-adv-x="146" /> -<glyph unicode=" " horiz-adv-x="146" /> -<glyph unicode=" " horiz-adv-x="110" /> -<glyph unicode=" " horiz-adv-x="176" /> -<glyph unicode=" " horiz-adv-x="48" /> -<glyph unicode="‐" horiz-adv-x="311" d="M41 219v63h230v-63h-230z" /> -<glyph unicode="‑" horiz-adv-x="311" d="M41 219v63h230v-63h-230z" /> -<glyph unicode="‒" horiz-adv-x="311" d="M41 219v63h230v-63h-230z" /> -<glyph unicode="–" horiz-adv-x="480" d="M41 223v57h398v-57h-398z" /> -<glyph unicode="—" horiz-adv-x="800" d="M41 223v57h718v-57h-718z" /> -<glyph unicode="‘" horiz-adv-x="249" d="M120 428q-30 0 -46.5 23.5t-16.5 66.5q0 117 106 178l24 -39q-76 -49 -76 -124q3 1 9 1q22 0 37.5 -13.5t15.5 -37.5q0 -25 -14.5 -40t-38.5 -15z" /> -<glyph unicode="’" horiz-adv-x="249" d="M86 431l-23 38q75 49 75 125q-3 -1 -8 -1q-22 0 -37.5 13.5t-15.5 36.5q0 26 14.5 41t38.5 15q29 0 46 -24t17 -67q0 -115 -107 -177z" /> -<glyph unicode="‚" horiz-adv-x="249" d="M86 -145l-23 38q75 49 75 125q-3 -1 -8 -1q-22 0 -37.5 13.5t-15.5 36.5q0 26 14.5 41t38.5 15q29 0 46 -24t17 -67q0 -115 -107 -177z" /> -<glyph unicode="“" horiz-adv-x="426" d="M120 428q-30 0 -46.5 23.5t-16.5 66.5q0 117 106 178l24 -39q-76 -49 -76 -124q3 1 9 1q22 0 37.5 -13.5t15.5 -37.5q0 -25 -14.5 -40t-38.5 -15zM297 428q-30 0 -46.5 23.5t-16.5 66.5q0 117 106 178l24 -39q-76 -49 -76 -124q3 1 9 1q22 0 37.5 -13.5t15.5 -37.5 q0 -25 -14.5 -40t-38.5 -15z" /> -<glyph unicode="”" horiz-adv-x="426" d="M86 431l-23 38q75 49 75 125q-3 -1 -8 -1q-22 0 -37.5 13.5t-15.5 36.5q0 26 14.5 41t38.5 15q29 0 46 -24t17 -67q0 -115 -107 -177zM263 431l-23 38q75 49 75 125q-3 -1 -8 -1q-22 0 -37.5 13.5t-15.5 36.5q0 26 14.5 41t38.5 15q29 0 46 -24t17 -67q0 -115 -107 -177z " /> -<glyph unicode="„" horiz-adv-x="426" d="M86 -145l-23 38q75 49 75 125q-3 -1 -8 -1q-22 0 -37.5 13.5t-15.5 36.5q0 26 14.5 41t38.5 15q29 0 46 -24t17 -67q0 -115 -107 -177zM263 -145l-23 38q75 49 75 125q-3 -1 -8 -1q-22 0 -37.5 13.5t-15.5 36.5q0 26 14.5 41t38.5 15q29 0 46 -24t17 -67 q0 -115 -107 -177z" /> -<glyph unicode="•" horiz-adv-x="304" d="M152 143q-46 0 -79 33.5t-33 86.5t33 87t79 34t79 -34t33 -87t-33 -86.5t-79 -33.5z" /> -<glyph unicode="…" horiz-adv-x="948" d="M154 -12q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5zM489 -12q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5zM824 -12q-25 0 -42.5 17.5t-17.5 44.5 q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5z" /> -<glyph unicode=" " horiz-adv-x="176" /> -<glyph unicode="‹" horiz-adv-x="271" d="M181 66l-136 155v62l136 155l36 -30l-118 -156l118 -158z" /> -<glyph unicode="›" horiz-adv-x="271" d="M89 66l-35 28l118 158l-118 156l35 30l137 -155v-62z" /> -<glyph unicode=" " horiz-adv-x="220" /> -<glyph unicode="€" d="M319 -12q-91 0 -153 65.5t-79 181.5h-64v43l59 4q-1 12 -1 36q0 22 1 32h-59v44l64 5q17 118 82.5 184.5t163.5 66.5q87 0 149 -78l-49 -47q-47 59 -103 59q-65 0 -105.5 -48.5t-53.5 -136.5h254v-49h-258q-1 -9 -1 -29q0 -26 1 -38h218v-48h-213q13 -86 52 -133.5 t100 -47.5q66 0 118 71l49 -44q-71 -93 -172 -93z" /> -<glyph unicode="™" horiz-adv-x="637" d="M102 366v256h-99v54h259v-54h-100v-256h-60zM310 366v310h73l47 -116l28 -78h4l28 78l46 116h72v-310h-55v137l7 105h-4l-73 -194h-47l-73 194h-4l7 -105v-137h-56z" /> -<glyph unicode="◼" horiz-adv-x="485" d="M0 485h485v-485h-485v485z" /> -<glyph unicode="fi" horiz-adv-x="556" d="M96 0v419h-66v62l66 5v77q0 76 35.5 118.5t106.5 42.5q42 0 81 -16l-18 -63q-27 12 -55 12q-68 0 -68 -94v-77h103v-67h-103v-419h-82zM392 0v486h82v-486h-82zM434 586q-24 0 -40.5 15t-16.5 38q0 24 16.5 38.5t40.5 14.5t40.5 -14.5t16.5 -38.5q0 -23 -16.5 -38 t-40.5 -15z" /> -<glyph unicode="fl" horiz-adv-x="547" d="M96 0v419h-66v62l66 5v77q0 76 35.5 118.5t106.5 42.5q42 0 81 -16l-18 -63q-27 12 -55 12q-68 0 -68 -94v-77h103v-67h-103v-419h-82zM461 -12q-87 0 -87 110v614h82v-620q0 -36 23 -36q9 0 18 2l11 -62q-18 -8 -47 -8z" /> -<glyph unicode="ffi" horiz-adv-x="823" d="M381 0v419h-203v-419h-82v419h-66v62l66 5v64q0 77 38.5 120.5t112.5 43.5q50 0 89 -18l-17 -62q-30 13 -65 13q-36 0 -56 -25.5t-20 -73.5v-62h203v77q0 76 35.5 118.5t106.5 42.5q42 0 81 -16l-18 -63q-27 12 -55 12q-68 0 -68 -94v-77h103v-67h-103v-419h-82zM659 0 v486h82v-486h-82zM701 586q-24 0 -40.5 15t-16.5 38q0 24 16.5 38.5t40.5 14.5t40.5 -14.5t16.5 -38.5q0 -23 -16.5 -38t-40.5 -15z" /> -<glyph unicode="ffl" horiz-adv-x="832" d="M381 0v419h-203v-419h-82v419h-66v62l66 5v64q0 77 38.5 120.5t112.5 43.5q50 0 89 -18l-17 -62q-30 13 -65 13q-36 0 -56 -25.5t-20 -73.5v-62h203v77q0 76 35.5 118.5t106.5 42.5q42 0 81 -16l-18 -63q-27 12 -55 12q-68 0 -68 -94v-77h103v-67h-103v-419h-82zM746 -12 q-87 0 -87 110v614h82v-620q0 -36 23 -36q9 0 18 2l11 -62q-18 -8 -47 -8z" /> -<hkern u1="/" u2="ï" k="-65" /> -<hkern u1="/" u2="î" k="-65" /> -<hkern u1="/" u2="ì" k="-15" /> -<hkern u1="F" u2="ï" k="-36" /> -<hkern u1="F" u2="î" k="-29" /> -<hkern u1="V" u2="ï" k="-64" /> -<hkern u1="V" u2="î" k="-53" /> -<hkern u1="V" u2="í" k="-13" /> -<hkern u1="V" u2="ì" k="-20" /> -<hkern u1="x" u2=";" k="-7" /> -<hkern u1="x" u2="," k="-7" /> -<hkern g1="backslash" g2="Eth" k="29" /> -<hkern g1="backslash" g2="g" k="-33" /> -<hkern g1="backslash" g2="j" k="-73" /> -<hkern g1="backslash" g2="T" k="85" /> -<hkern g1="backslash" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="29" /> -<hkern g1="backslash" g2="v" k="20" /> -<hkern g1="backslash" g2="V" k="53" /> -<hkern g1="backslash" g2="w" k="10" /> -<hkern g1="backslash" g2="W" k="29" /> -<hkern g1="backslash" g2="y,yacute,ydieresis" k="-13" /> -<hkern g1="backslash" g2="Y,Yacute,Ydieresis" k="73" /> -<hkern g1="exclamdown" g2="j" k="-33" /> -<hkern g1="exclamdown" g2="V" k="32" /> -<hkern g1="exclamdown" g2="W" k="16" /> -<hkern g1="exclamdown" g2="Y,Yacute,Ydieresis" k="45" /> -<hkern g1="periodcentered" g2="T" k="64" /> -<hkern g1="periodcentered" g2="V" k="26" /> -<hkern g1="periodcentered" g2="Y,Yacute,Ydieresis" k="58" /> -<hkern g1="periodcentered" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="24" /> -<hkern g1="periodcentered" g2="S" k="24" /> -<hkern g1="periodcentered" g2="x" k="20" /> -<hkern g1="periodcentered" g2="X" k="26" /> -<hkern g1="periodcentered" g2="Z" k="38" /> -<hkern g1="questiondown" g2="j" k="-59" /> -<hkern g1="questiondown" g2="T" k="87" /> -<hkern g1="questiondown" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="40" /> -<hkern g1="questiondown" g2="V" k="58" /> -<hkern g1="questiondown" g2="W" k="40" /> -<hkern g1="questiondown" g2="Y,Yacute,Ydieresis" k="89" /> -<hkern g1="questiondown" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="62" /> -<hkern g1="questiondown" g2="S" k="35" /> -<hkern g1="questiondown" g2="X" k="42" /> -<hkern g1="questiondown" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="35" /> -<hkern g1="questiondown" g2="f,uniFB01,uniFB02" k="62" /> -<hkern g1="questiondown" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="21" /> -<hkern g1="questiondown" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="44" /> -<hkern g1="slash" g2="g" k="10" /> -<hkern g1="slash" g2="j" k="-25" /> -<hkern g1="slash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="40" /> -<hkern g1="slash" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="24" /> -<hkern g1="slash" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="31" /> -<hkern g1="slash" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="10" /> -<hkern g1="slash" g2="i,igrave,iacute,icircumflex,idieresis" k="-25" /> -<hkern g1="slash" g2="J" k="80" /> -<hkern g1="slash" g2="t" k="-9" /> -<hkern g1="slash" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="t" k="14" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="T" k="24" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="V" k="16" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="W" k="4" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="Y,Yacute,Ydieresis" k="24" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="question" k="12" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="quoteright,quotedblright" k="16" /> -<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="asterisk" k="54" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="t" k="14" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="T" k="55" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="V" k="14" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="Y,Yacute,Ydieresis" k="14" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="question" k="26" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quoteright,quotedblright" k="56" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="asterisk" k="94" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="periodcentered" k="24" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="-23" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="6" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="f,uniFB01,uniFB02" k="10" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="10" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="s" k="-23" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="u,ugrave,uacute,ucircumflex,udieresis" k="6" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="15" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="v" k="7" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="w" k="4" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="x" k="4" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="X" k="-4" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="y,yacute,ydieresis" k="7" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="Z" k="8" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quoteleft,quotedblleft" k="67" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quotedbl,quotesingle" k="55" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="backslash" k="40" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="registered" k="80" /> -<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="trademark" k="52" /> -<hkern g1="B" g2="t" k="10" /> -<hkern g1="B" g2="T" k="24" /> -<hkern g1="B" g2="V" k="6" /> -<hkern g1="B" g2="W" k="4" /> -<hkern g1="B" g2="Y,Yacute,Ydieresis" k="14" /> -<hkern g1="B" g2="quoteright,quotedblright" k="20" /> -<hkern g1="B" g2="asterisk" k="30" /> -<hkern g1="B" g2="periodcentered" k="20" /> -<hkern g1="B" g2="v" k="14" /> -<hkern g1="B" g2="w" k="10" /> -<hkern g1="B" g2="x" k="10" /> -<hkern g1="B" g2="X" k="4" /> -<hkern g1="B" g2="y,yacute,ydieresis" k="14" /> -<hkern g1="B" g2="Z" k="4" /> -<hkern g1="B" g2="quoteleft,quotedblleft" k="14" /> -<hkern g1="B" g2="trademark" k="20" /> -<hkern g1="B" g2="J" k="16" /> -<hkern g1="B" g2="S" k="14" /> -<hkern g1="c,ccedilla" g2="t" k="10" /> -<hkern g1="c,ccedilla" g2="T" k="20" /> -<hkern g1="c,ccedilla" g2="V" k="14" /> -<hkern g1="c,ccedilla" g2="Y,Yacute,Ydieresis" k="24" /> -<hkern g1="c,ccedilla" g2="periodcentered" k="14" /> -<hkern g1="c,ccedilla" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10" /> -<hkern g1="c,ccedilla" g2="v" k="-6" /> -<hkern g1="c,ccedilla" g2="w" k="-6" /> -<hkern g1="c,ccedilla" g2="x" k="-8" /> -<hkern g1="c,ccedilla" g2="y,yacute,ydieresis" k="-6" /> -<hkern g1="c,ccedilla" g2="registered" k="-20" /> -<hkern g1="c,ccedilla" g2="g" k="10" /> -<hkern g1="c,ccedilla" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="21" /> -<hkern g1="c,ccedilla" g2="hyphen,uni00AD,endash,emdash" k="20" /> -<hkern g1="c,ccedilla" g2="guillemotleft,guilsinglleft" k="14" /> -<hkern g1="C,Ccedilla" g2="t" k="27" /> -<hkern g1="C,Ccedilla" g2="T" k="18" /> -<hkern g1="C,Ccedilla" g2="V" k="4" /> -<hkern g1="C,Ccedilla" g2="W" k="4" /> -<hkern g1="C,Ccedilla" g2="Y,Yacute,Ydieresis" k="7" /> -<hkern g1="C,Ccedilla" g2="periodcentered" k="52" /> -<hkern g1="C,Ccedilla" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="29" /> -<hkern g1="C,Ccedilla" g2="u,ugrave,uacute,ucircumflex,udieresis" k="10" /> -<hkern g1="C,Ccedilla" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="14" /> -<hkern g1="C,Ccedilla" g2="v" k="14" /> -<hkern g1="C,Ccedilla" g2="w" k="10" /> -<hkern g1="C,Ccedilla" g2="X" k="4" /> -<hkern g1="C,Ccedilla" g2="y,yacute,ydieresis" k="14" /> -<hkern g1="C,Ccedilla" g2="Z" k="10" /> -<hkern g1="C,Ccedilla" g2="registered" k="-10" /> -<hkern g1="C,Ccedilla" g2="trademark" k="-24" /> -<hkern g1="C,Ccedilla" g2="J" k="10" /> -<hkern g1="C,Ccedilla" g2="S" k="24" /> -<hkern g1="C,Ccedilla" g2="g" k="20" /> -<hkern g1="C,Ccedilla" g2="hyphen,uni00AD,endash,emdash" k="26" /> -<hkern g1="C,Ccedilla" g2="guillemotleft,guilsinglleft" k="14" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="t" k="10" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="T" k="24" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="V" k="16" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="W" k="10" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="Y,Yacute,Ydieresis" k="26" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="question" k="7" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="quoteright,quotedblright" k="10" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="asterisk" k="34" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="periodcentered" k="4" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="14" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="v" k="-5" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="w" k="-5" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="x" k="7" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="y,yacute,ydieresis" k="-5" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="backslash" k="20" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="trademark" k="17" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="J" k="20" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="S" k="20" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="g" k="10" /> -<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" g2="hyphen,uni00AD,endash,emdash" k="-10" /> -<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="t" k="24" /> -<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="v" k="10" /> -<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="x" k="31" /> -<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="y,yacute,ydieresis" k="10" /> -<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="10" /> -<hkern g1="f" g2="T" k="-46" /> -<hkern g1="f" g2="V" k="-66" /> -<hkern g1="f" g2="W" k="-46" /> -<hkern g1="f" g2="Y,Yacute,Ydieresis" k="-59" /> -<hkern g1="f" g2="question" k="-26" /> -<hkern g1="f" g2="quoteright,quotedblright" k="-34" /> -<hkern g1="f" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="50" /> -<hkern g1="f" g2="periodcentered" k="20" /> -<hkern g1="f" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" /> -<hkern g1="f" g2="s" k="4" /> -<hkern g1="f" g2="v" k="-13" /> -<hkern g1="f" g2="x" k="4" /> -<hkern g1="f" g2="X" k="-33" /> -<hkern g1="f" g2="quoteleft,quotedblleft" k="-34" /> -<hkern g1="f" g2="quotedbl,quotesingle" k="-40" /> -<hkern g1="f" g2="backslash" k="-62" /> -<hkern g1="f" g2="registered" k="-75" /> -<hkern g1="f" g2="trademark" k="-76" /> -<hkern g1="f" g2="g" k="14" /> -<hkern g1="f" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="10" /> -<hkern g1="f" g2="hyphen,uni00AD,endash,emdash" k="14" /> -<hkern g1="f" g2="j" k="10" /> -<hkern g1="f" g2="z" k="14" /> -<hkern g1="f" g2="parenright,bracketright,braceright" k="-49" /> -<hkern g1="f" g2="exclam" k="-14" /> -<hkern g1="f" g2="slash" k="14" /> -<hkern g1="F" g2="t" k="10" /> -<hkern g1="F" g2="V" k="-4" /> -<hkern g1="F" g2="W" k="-4" /> -<hkern g1="F" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="72" /> -<hkern g1="F" g2="periodcentered" k="14" /> -<hkern g1="F" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="34" /> -<hkern g1="F" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="37" /> -<hkern g1="F" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="10" /> -<hkern g1="F" g2="s" k="20" /> -<hkern g1="F" g2="u,ugrave,uacute,ucircumflex,udieresis" k="16" /> -<hkern g1="F" g2="v" k="20" /> -<hkern g1="F" g2="w" k="16" /> -<hkern g1="F" g2="x" k="26" /> -<hkern g1="F" g2="X" k="24" /> -<hkern g1="F" g2="y,yacute,ydieresis" k="16" /> -<hkern g1="F" g2="Z" k="30" /> -<hkern g1="F" g2="registered" k="-20" /> -<hkern g1="F" g2="trademark" k="-38" /> -<hkern g1="F" g2="J" k="138" /> -<hkern g1="F" g2="S" k="20" /> -<hkern g1="F" g2="g" k="24" /> -<hkern g1="F" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="14" /> -<hkern g1="F" g2="guillemotleft,guilsinglleft" k="20" /> -<hkern g1="F" g2="z" k="30" /> -<hkern g1="F" g2="slash" k="69" /> -<hkern g1="F" g2="m,n,p,r,ntilde" k="20" /> -<hkern g1="germandbls" g2="t" k="16" /> -<hkern g1="germandbls" g2="question" k="16" /> -<hkern g1="germandbls" g2="quoteright,quotedblright" k="56" /> -<hkern g1="germandbls" g2="f,uniFB01,uniFB02" k="4" /> -<hkern g1="germandbls" g2="v" k="16" /> -<hkern g1="germandbls" g2="w" k="14" /> -<hkern g1="germandbls" g2="x" k="-6" /> -<hkern g1="germandbls" g2="y,yacute,ydieresis" k="16" /> -<hkern g1="germandbls" g2="quoteleft,quotedblleft" k="48" /> -<hkern g1="germandbls" g2="quotedbl,quotesingle" k="67" /> -<hkern g1="germandbls" g2="backslash" k="26" /> -<hkern g1="germandbls" g2="registered" k="35" /> -<hkern g1="g" g2="T" k="26" /> -<hkern g1="g" g2="Y,Yacute,Ydieresis" k="14" /> -<hkern g1="g" g2="question" k="36" /> -<hkern g1="g" g2="asterisk" k="33" /> -<hkern g1="g" g2="periodcentered" k="8" /> -<hkern g1="g" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="16" /> -<hkern g1="g" g2="v" k="4" /> -<hkern g1="g" g2="w" k="4" /> -<hkern g1="g" g2="y,yacute,ydieresis" k="-15" /> -<hkern g1="g" g2="registered" k="-14" /> -<hkern g1="g" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="14" /> -<hkern g1="g" g2="j" k="-37" /> -<hkern g1="g" g2="z" k="14" /> -<hkern g1="g" g2="parenright,bracketright,braceright" k="-14" /> -<hkern g1="g" g2="slash" k="-48" /> -<hkern g1="G" g2="T" k="20" /> -<hkern g1="G" g2="V" k="14" /> -<hkern g1="G" g2="W" k="4" /> -<hkern g1="G" g2="asterisk" k="28" /> -<hkern g1="G" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="4" /> -<hkern g1="G" g2="registered" k="-8" /> -<hkern g1="G" g2="trademark" k="-12" /> -<hkern g1="J" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="24" /> -<hkern g1="J" g2="J" k="40" /> -<hkern g1="k" g2="t" k="21" /> -<hkern g1="k" g2="T" k="35" /> -<hkern g1="k" g2="Y,Yacute,Ydieresis" k="11" /> -<hkern g1="k" g2="question" k="12" /> -<hkern g1="k" g2="quoteright,quotedblright" k="26" /> -<hkern g1="k" g2="asterisk" k="21" /> -<hkern g1="k" g2="colon,semicolon" k="-13" /> -<hkern g1="k" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="-13" /> -<hkern g1="k" g2="periodcentered" k="26" /> -<hkern g1="k" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10" /> -<hkern g1="k" g2="u,ugrave,uacute,ucircumflex,udieresis" k="14" /> -<hkern g1="k" g2="x" k="7" /> -<hkern g1="k" g2="trademark" k="20" /> -<hkern g1="k" g2="g" k="10" /> -<hkern g1="k" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="18" /> -<hkern g1="k" g2="hyphen,uni00AD,endash,emdash" k="44" /> -<hkern g1="k" g2="guillemotleft,guilsinglleft" k="26" /> -<hkern g1="k" g2="guillemotright,guilsinglright" k="11" /> -<hkern g1="k" g2="j" k="10" /> -<hkern g1="k" g2="z" k="7" /> -<hkern g1="K" g2="t" k="33" /> -<hkern g1="K" g2="T" k="17" /> -<hkern g1="K" g2="V" k="12" /> -<hkern g1="K" g2="W" k="10" /> -<hkern g1="K" g2="Y,Yacute,Ydieresis" k="16" /> -<hkern g1="K" g2="question" k="7" /> -<hkern g1="K" g2="quoteright,quotedblright" k="18" /> -<hkern g1="K" g2="asterisk" k="40" /> -<hkern g1="K" g2="periodcentered" k="46" /> -<hkern g1="K" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="10" /> -<hkern g1="K" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20" /> -<hkern g1="K" g2="u,ugrave,uacute,ucircumflex,udieresis" k="14" /> -<hkern g1="K" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="14" /> -<hkern g1="K" g2="v" k="20" /> -<hkern g1="K" g2="w" k="16" /> -<hkern g1="K" g2="x" k="16" /> -<hkern g1="K" g2="y,yacute,ydieresis" k="20" /> -<hkern g1="K" g2="quoteleft,quotedblleft" k="18" /> -<hkern g1="K" g2="quotedbl,quotesingle" k="21" /> -<hkern g1="K" g2="trademark" k="-9" /> -<hkern g1="K" g2="S" k="9" /> -<hkern g1="K" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="7" /> -<hkern g1="K" g2="hyphen,uni00AD,endash,emdash" k="30" /> -<hkern g1="K" g2="guillemotleft,guilsinglleft" k="10" /> -<hkern g1="K" g2="guillemotright,guilsinglright" k="4" /> -<hkern g1="K" g2="j" k="10" /> -<hkern g1="K" g2="z" k="14" /> -<hkern g1="l,uniFB02" g2="j" k="-8" /> -<hkern g1="L" g2="t" k="20" /> -<hkern g1="L" g2="T" k="120" /> -<hkern g1="L" g2="V" k="76" /> -<hkern g1="L" g2="W" k="56" /> -<hkern g1="L" g2="Y,Yacute,Ydieresis" k="76" /> -<hkern g1="L" g2="question" k="32" /> -<hkern g1="L" g2="quoteright,quotedblright" k="78" /> -<hkern g1="L" g2="asterisk" k="152" /> -<hkern g1="L" g2="periodcentered" k="92" /> -<hkern g1="L" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-3" /> -<hkern g1="L" g2="f,uniFB01,uniFB02" k="14" /> -<hkern g1="L" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="26" /> -<hkern g1="L" g2="u,ugrave,uacute,ucircumflex,udieresis" k="10" /> -<hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="29" /> -<hkern g1="L" g2="v" k="36" /> -<hkern g1="L" g2="w" k="34" /> -<hkern g1="L" g2="y,yacute,ydieresis" k="36" /> -<hkern g1="L" g2="quoteleft,quotedblleft" k="78" /> -<hkern g1="L" g2="quotedbl,quotesingle" k="89" /> -<hkern g1="L" g2="backslash" k="80" /> -<hkern g1="L" g2="registered" k="92" /> -<hkern g1="L" g2="trademark" k="98" /> -<hkern g1="L" g2="S" k="22" /> -<hkern g1="L" g2="g" k="4" /> -<hkern g1="L" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="12" /> -<hkern g1="L" g2="hyphen,uni00AD,endash,emdash" k="54" /> -<hkern g1="L" g2="guillemotleft,guilsinglleft" k="34" /> -<hkern g1="h,m,n,ntilde" g2="T" k="24" /> -<hkern g1="h,m,n,ntilde" g2="V" k="10" /> -<hkern g1="h,m,n,ntilde" g2="Y,Yacute,Ydieresis" k="16" /> -<hkern g1="h,m,n,ntilde" g2="question" k="7" /> -<hkern g1="h,m,n,ntilde" g2="quoteright,quotedblright" k="20" /> -<hkern g1="h,m,n,ntilde" g2="asterisk" k="34" /> -<hkern g1="h,m,n,ntilde" g2="trademark" k="20" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="t" k="17" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="T" k="57" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="V" k="19" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="Y,Yacute,Ydieresis" k="46" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="question" k="12" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="quoteright,quotedblright" k="26" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="asterisk" k="25" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="10" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="14" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="v" k="4" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="w" k="4" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="x" k="17" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="X" k="4" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="y,yacute,ydieresis" k="4" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="quoteleft,quotedblleft" k="14" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="quotedbl,quotesingle" k="29" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="backslash" k="26" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="registered" k="7" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="hyphen,uni00AD,endash,emdash" k="-6" /> -<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" g2="z" k="6" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="T" k="24" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="V" k="10" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="W" k="6" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="Y,Yacute,Ydieresis" k="20" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="asterisk" k="34" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="10" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="x" k="14" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="X" k="17" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="Z" k="20" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="registered" k="-6" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="trademark" k="26" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="J" k="40" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="z" k="7" /> -<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" g2="slash" k="18" /> -<hkern g1="P" g2="T" k="24" /> -<hkern g1="P" g2="Y,Yacute,Ydieresis" k="10" /> -<hkern g1="P" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="112" /> -<hkern g1="P" g2="periodcentered" k="8" /> -<hkern g1="P" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="43" /> -<hkern g1="P" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="50" /> -<hkern g1="P" g2="s" k="10" /> -<hkern g1="P" g2="x" k="14" /> -<hkern g1="P" g2="X" k="24" /> -<hkern g1="P" g2="Z" k="78" /> -<hkern g1="P" g2="registered" k="-30" /> -<hkern g1="P" g2="J" k="146" /> -<hkern g1="P" g2="S" k="10" /> -<hkern g1="P" g2="g" k="30" /> -<hkern g1="P" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="24" /> -<hkern g1="P" g2="hyphen,uni00AD,endash,emdash" k="33" /> -<hkern g1="P" g2="guillemotleft,guilsinglleft" k="20" /> -<hkern g1="P" g2="z" k="20" /> -<hkern g1="P" g2="slash" k="75" /> -<hkern g1="r" g2="quoteright,quotedblright" k="-18" /> -<hkern g1="r" g2="colon,semicolon" k="-25" /> -<hkern g1="r" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="57" /> -<hkern g1="r" g2="periodcentered" k="16" /> -<hkern g1="r" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="24" /> -<hkern g1="r" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="14" /> -<hkern g1="r" g2="s" k="4" /> -<hkern g1="r" g2="v" k="-25" /> -<hkern g1="r" g2="w" k="-19" /> -<hkern g1="r" g2="y,yacute,ydieresis" k="-25" /> -<hkern g1="r" g2="Z" k="10" /> -<hkern g1="r" g2="quoteleft,quotedblleft" k="-33" /> -<hkern g1="r" g2="backslash" k="-13" /> -<hkern g1="r" g2="registered" k="-62" /> -<hkern g1="r" g2="J" k="55" /> -<hkern g1="r" g2="g" k="10" /> -<hkern g1="r" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="10" /> -<hkern g1="r" g2="hyphen,uni00AD,endash,emdash" k="24" /> -<hkern g1="r" g2="guillemotleft,guilsinglleft" k="20" /> -<hkern g1="r" g2="z" k="4" /> -<hkern g1="r" g2="slash" k="34" /> -<hkern g1="R" g2="T" k="14" /> -<hkern g1="R" g2="V" k="-5" /> -<hkern g1="R" g2="W" k="-6" /> -<hkern g1="R" g2="asterisk" k="10" /> -<hkern g1="R" g2="periodcentered" k="10" /> -<hkern g1="R" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="4" /> -<hkern g1="R" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="4" /> -<hkern g1="R" g2="x" k="7" /> -<hkern g1="R" g2="X" k="4" /> -<hkern g1="R" g2="Z" k="10" /> -<hkern g1="R" g2="registered" k="-25" /> -<hkern g1="R" g2="J" k="18" /> -<hkern g1="R" g2="S" k="14" /> -<hkern g1="R" g2="g" k="4" /> -<hkern g1="R" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="10" /> -<hkern g1="R" g2="hyphen,uni00AD,endash,emdash" k="31" /> -<hkern g1="R" g2="guillemotleft,guilsinglleft" k="30" /> -<hkern g1="R" g2="guillemotright,guilsinglright" k="14" /> -<hkern g1="R" g2="z" k="7" /> -<hkern g1="s" g2="t" k="20" /> -<hkern g1="s" g2="T" k="24" /> -<hkern g1="s" g2="V" k="10" /> -<hkern g1="s" g2="Y,Yacute,Ydieresis" k="20" /> -<hkern g1="s" g2="question" k="11" /> -<hkern g1="s" g2="quoteright,quotedblright" k="11" /> -<hkern g1="s" g2="asterisk" k="49" /> -<hkern g1="s" g2="hyphen,uni00AD,endash,emdash" k="-10" /> -<hkern g1="S" g2="t" k="24" /> -<hkern g1="S" g2="T" k="20" /> -<hkern g1="S" g2="Y,Yacute,Ydieresis" k="14" /> -<hkern g1="S" g2="quoteright,quotedblright" k="11" /> -<hkern g1="S" g2="asterisk" k="16" /> -<hkern g1="S" g2="periodcentered" k="11" /> -<hkern g1="S" g2="registered" k="-3" /> -<hkern g1="S" g2="J" k="14" /> -<hkern g1="S" g2="S" k="14" /> -<hkern g1="S" g2="hyphen,uni00AD,endash,emdash" k="-14" /> -<hkern g1="Thorn" g2="asterisk" k="62" /> -<hkern g1="Thorn" g2="backslash" k="40" /> -<hkern g1="Thorn" g2="trademark" k="24" /> -<hkern g1="Thorn" g2="slash" k="58" /> -<hkern g1="t" g2="t" k="20" /> -<hkern g1="t" g2="T" k="14" /> -<hkern g1="t" g2="Y,Yacute,Ydieresis" k="4" /> -<hkern g1="t" g2="question" k="26" /> -<hkern g1="t" g2="colon,semicolon" k="-14" /> -<hkern g1="t" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="-7" /> -<hkern g1="t" g2="periodcentered" k="20" /> -<hkern g1="t" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="21" /> -<hkern g1="t" g2="s" k="10" /> -<hkern g1="t" g2="x" k="16" /> -<hkern g1="t" g2="registered" k="-34" /> -<hkern g1="t" g2="g" k="10" /> -<hkern g1="t" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="14" /> -<hkern g1="t" g2="hyphen,uni00AD,endash,emdash" k="26" /> -<hkern g1="t" g2="guillemotleft,guilsinglleft" k="18" /> -<hkern g1="t" g2="guillemotright,guilsinglright" k="14" /> -<hkern g1="t" g2="slash" k="-10" /> -<hkern g1="T" g2="t" k="18" /> -<hkern g1="T" g2="Y,Yacute,Ydieresis" k="14" /> -<hkern g1="T" g2="colon,semicolon" k="20" /> -<hkern g1="T" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="106" /> -<hkern g1="T" g2="periodcentered" k="64" /> -<hkern g1="T" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="73" /> -<hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="40" /> -<hkern g1="T" g2="f,uniFB01,uniFB02" k="18" /> -<hkern g1="T" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="24" /> -<hkern g1="T" g2="s" k="59" /> -<hkern g1="T" g2="u,ugrave,uacute,ucircumflex,udieresis" k="46" /> -<hkern g1="T" g2="v" k="33" /> -<hkern g1="T" g2="w" k="34" /> -<hkern g1="T" g2="x" k="39" /> -<hkern g1="T" g2="X" k="20" /> -<hkern g1="T" g2="y,yacute,ydieresis" k="33" /> -<hkern g1="T" g2="Z" k="54" /> -<hkern g1="T" g2="registered" k="-20" /> -<hkern g1="T" g2="trademark" k="-34" /> -<hkern g1="T" g2="J" k="126" /> -<hkern g1="T" g2="S" k="39" /> -<hkern g1="T" g2="g" k="73" /> -<hkern g1="T" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="66" /> -<hkern g1="T" g2="hyphen,uni00AD,endash,emdash" k="73" /> -<hkern g1="T" g2="guillemotleft,guilsinglleft" k="47" /> -<hkern g1="T" g2="guillemotright,guilsinglright" k="40" /> -<hkern g1="T" g2="z" k="75" /> -<hkern g1="T" g2="slash" k="89" /> -<hkern g1="T" g2="m,n,p,r,ntilde" k="46" /> -<hkern g1="T" g2="AE" k="85" /> -<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" g2="T" k="20" /> -<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" g2="V" k="14" /> -<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" g2="Y,Yacute,Ydieresis" k="30" /> -<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" g2="asterisk" k="24" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="V" k="4" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="Y,Yacute,Ydieresis" k="14" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="16" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="4" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="16" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="s" k="4" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="x" k="7" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="X" k="10" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="J" k="47" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="S" k="10" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="g" k="10" /> -<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="slash" k="31" /> -<hkern g1="v" g2="T" k="20" /> -<hkern g1="v" g2="V" k="9" /> -<hkern g1="v" g2="Y,Yacute,Ydieresis" k="14" /> -<hkern g1="v" g2="asterisk" k="11" /> -<hkern g1="v" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="35" /> -<hkern g1="v" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" /> -<hkern g1="v" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="11" /> -<hkern g1="v" g2="Z" k="10" /> -<hkern g1="v" g2="registered" k="-45" /> -<hkern g1="v" g2="trademark" k="-9" /> -<hkern g1="v" g2="J" k="40" /> -<hkern g1="v" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="4" /> -<hkern g1="v" g2="hyphen,uni00AD,endash,emdash" k="7" /> -<hkern g1="v" g2="j" k="10" /> -<hkern g1="v" g2="z" k="24" /> -<hkern g1="v" g2="slash" k="20" /> -<hkern g1="V" g2="V" k="-10" /> -<hkern g1="V" g2="quoteright,quotedblright" k="-13" /> -<hkern g1="V" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="65" /> -<hkern g1="V" g2="periodcentered" k="11" /> -<hkern g1="V" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="22" /> -<hkern g1="V" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="14" /> -<hkern g1="V" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="10" /> -<hkern g1="V" g2="s" k="12" /> -<hkern g1="V" g2="u,ugrave,uacute,ucircumflex,udieresis" k="30" /> -<hkern g1="V" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="10" /> -<hkern g1="V" g2="v" k="9" /> -<hkern g1="V" g2="w" k="9" /> -<hkern g1="V" g2="x" k="15" /> -<hkern g1="V" g2="y,yacute,ydieresis" k="9" /> -<hkern g1="V" g2="Z" k="19" /> -<hkern g1="V" g2="registered" k="-53" /> -<hkern g1="V" g2="trademark" k="-54" /> -<hkern g1="V" g2="J" k="73" /> -<hkern g1="V" g2="S" k="10" /> -<hkern g1="V" g2="g" k="21" /> -<hkern g1="V" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="15" /> -<hkern g1="V" g2="hyphen,uni00AD,endash,emdash" k="19" /> -<hkern g1="V" g2="guillemotleft,guilsinglleft" k="21" /> -<hkern g1="V" g2="guillemotright,guilsinglright" k="19" /> -<hkern g1="V" g2="z" k="25" /> -<hkern g1="V" g2="slash" k="47" /> -<hkern g1="V" g2="m,n,p,r,ntilde" k="20" /> -<hkern g1="w" g2="T" k="24" /> -<hkern g1="w" g2="V" k="9" /> -<hkern g1="w" g2="Y,Yacute,Ydieresis" k="24" /> -<hkern g1="w" g2="asterisk" k="11" /> -<hkern g1="w" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="41" /> -<hkern g1="w" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10" /> -<hkern g1="w" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="4" /> -<hkern g1="w" g2="X" k="14" /> -<hkern g1="w" g2="registered" k="-38" /> -<hkern g1="w" g2="trademark" k="-10" /> -<hkern g1="w" g2="J" k="30" /> -<hkern g1="w" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="4" /> -<hkern g1="w" g2="j" k="10" /> -<hkern g1="w" g2="z" k="17" /> -<hkern g1="w" g2="slash" k="8" /> -<hkern g1="W" g2="quoteright,quotedblright" k="-13" /> -<hkern g1="W" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="34" /> -<hkern g1="W" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="16" /> -<hkern g1="W" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="6" /> -<hkern g1="W" g2="Z" k="6" /> -<hkern g1="W" g2="registered" k="-39" /> -<hkern g1="W" g2="trademark" k="-34" /> -<hkern g1="W" g2="J" k="65" /> -<hkern g1="W" g2="S" k="6" /> -<hkern g1="W" g2="g" k="13" /> -<hkern g1="W" g2="hyphen,uni00AD,endash,emdash" k="10" /> -<hkern g1="W" g2="guillemotleft,guilsinglleft" k="10" /> -<hkern g1="W" g2="guillemotright,guilsinglright" k="16" /> -<hkern g1="W" g2="z" k="10" /> -<hkern g1="W" g2="slash" k="29" /> -<hkern g1="x" g2="t" k="24" /> -<hkern g1="x" g2="T" k="33" /> -<hkern g1="x" g2="V" k="15" /> -<hkern g1="x" g2="Y,Yacute,Ydieresis" k="34" /> -<hkern g1="x" g2="asterisk" k="23" /> -<hkern g1="x" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="7" /> -<hkern g1="x" g2="periodcentered" k="20" /> -<hkern g1="x" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10" /> -<hkern g1="x" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="10" /> -<hkern g1="x" g2="X" k="10" /> -<hkern g1="x" g2="registered" k="-38" /> -<hkern g1="x" g2="trademark" k="-9" /> -<hkern g1="x" g2="S" k="4" /> -<hkern g1="x" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="17" /> -<hkern g1="x" g2="hyphen,uni00AD,endash,emdash" k="14" /> -<hkern g1="x" g2="guillemotleft,guilsinglleft" k="24" /> -<hkern g1="x" g2="guillemotright,guilsinglright" k="20" /> -<hkern g1="x" g2="exclam" k="14" /> -<hkern g1="X" g2="t" k="16" /> -<hkern g1="X" g2="T" k="20" /> -<hkern g1="X" g2="quoteright,quotedblright" k="7" /> -<hkern g1="X" g2="asterisk" k="10" /> -<hkern g1="X" g2="periodcentered" k="40" /> -<hkern g1="X" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="10" /> -<hkern g1="X" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-3" /> -<hkern g1="X" g2="f,uniFB01,uniFB02" k="16" /> -<hkern g1="X" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="17" /> -<hkern g1="X" g2="u,ugrave,uacute,ucircumflex,udieresis" k="10" /> -<hkern g1="X" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="10" /> -<hkern g1="X" g2="v" k="16" /> -<hkern g1="X" g2="w" k="14" /> -<hkern g1="X" g2="x" k="10" /> -<hkern g1="X" g2="y,yacute,ydieresis" k="16" /> -<hkern g1="X" g2="quoteleft,quotedblleft" k="7" /> -<hkern g1="X" g2="quotedbl,quotesingle" k="10" /> -<hkern g1="X" g2="registered" k="-8" /> -<hkern g1="X" g2="trademark" k="-21" /> -<hkern g1="X" g2="S" k="14" /> -<hkern g1="X" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="7" /> -<hkern g1="X" g2="hyphen,uni00AD,endash,emdash" k="27" /> -<hkern g1="X" g2="guillemotleft,guilsinglleft" k="14" /> -<hkern g1="X" g2="guillemotright,guilsinglright" k="14" /> -<hkern g1="X" g2="z" k="14" /> -<hkern g1="y,yacute,ydieresis" g2="T" k="20" /> -<hkern g1="y,yacute,ydieresis" g2="V" k="4" /> -<hkern g1="y,yacute,ydieresis" g2="Y,Yacute,Ydieresis" k="7" /> -<hkern g1="y,yacute,ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="35" /> -<hkern g1="y,yacute,ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="20" /> -<hkern g1="y,yacute,ydieresis" g2="x" k="14" /> -<hkern g1="y,yacute,ydieresis" g2="X" k="4" /> -<hkern g1="y,yacute,ydieresis" g2="registered" k="-45" /> -<hkern g1="y,yacute,ydieresis" g2="trademark" k="-13" /> -<hkern g1="y,yacute,ydieresis" g2="J" k="40" /> -<hkern g1="y,yacute,ydieresis" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="4" /> -<hkern g1="y,yacute,ydieresis" g2="guillemotleft,guilsinglleft" k="4" /> -<hkern g1="y,yacute,ydieresis" g2="guillemotright,guilsinglright" k="4" /> -<hkern g1="y,yacute,ydieresis" g2="j" k="10" /> -<hkern g1="y,yacute,ydieresis" g2="z" k="24" /> -<hkern g1="y,yacute,ydieresis" g2="slash" k="14" /> -<hkern g1="Y,Yacute,Ydieresis" g2="t" k="28" /> -<hkern g1="Y,Yacute,Ydieresis" g2="T" k="14" /> -<hkern g1="Y,Yacute,Ydieresis" g2="question" k="7" /> -<hkern g1="Y,Yacute,Ydieresis" g2="quoteright,quotedblright" k="-9" /> -<hkern g1="Y,Yacute,Ydieresis" g2="colon,semicolon" k="25" /> -<hkern g1="Y,Yacute,Ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="91" /> -<hkern g1="Y,Yacute,Ydieresis" g2="periodcentered" k="46" /> -<hkern g1="Y,Yacute,Ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="67" /> -<hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="14" /> -<hkern g1="Y,Yacute,Ydieresis" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="14" /> -<hkern g1="Y,Yacute,Ydieresis" g2="s" k="41" /> -<hkern g1="Y,Yacute,Ydieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="34" /> -<hkern g1="Y,Yacute,Ydieresis" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="10" /> -<hkern g1="Y,Yacute,Ydieresis" g2="v" k="14" /> -<hkern g1="Y,Yacute,Ydieresis" g2="w" k="24" /> -<hkern g1="Y,Yacute,Ydieresis" g2="x" k="34" /> -<hkern g1="Y,Yacute,Ydieresis" g2="y,yacute,ydieresis" k="14" /> -<hkern g1="Y,Yacute,Ydieresis" g2="Z" k="26" /> -<hkern g1="Y,Yacute,Ydieresis" g2="registered" k="-33" /> -<hkern g1="Y,Yacute,Ydieresis" g2="trademark" k="-46" /> -<hkern g1="Y,Yacute,Ydieresis" g2="J" k="100" /> -<hkern g1="Y,Yacute,Ydieresis" g2="S" k="16" /> -<hkern g1="Y,Yacute,Ydieresis" g2="g" k="60" /> -<hkern g1="Y,Yacute,Ydieresis" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="41" /> -<hkern g1="Y,Yacute,Ydieresis" g2="hyphen,uni00AD,endash,emdash" k="66" /> -<hkern g1="Y,Yacute,Ydieresis" g2="guillemotleft,guilsinglleft" k="55" /> -<hkern g1="Y,Yacute,Ydieresis" g2="guillemotright,guilsinglright" k="37" /> -<hkern g1="Y,Yacute,Ydieresis" g2="z" k="47" /> -<hkern g1="Y,Yacute,Ydieresis" g2="slash" k="67" /> -<hkern g1="Y,Yacute,Ydieresis" g2="m,n,p,r,ntilde" k="40" /> -<hkern g1="z" g2="T" k="26" /> -<hkern g1="z" g2="Y,Yacute,Ydieresis" k="29" /> -<hkern g1="z" g2="periodcentered" k="11" /> -<hkern g1="z" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="23" /> -<hkern g1="z" g2="u,ugrave,uacute,ucircumflex,udieresis" k="10" /> -<hkern g1="z" g2="v" k="4" /> -<hkern g1="z" g2="y,yacute,ydieresis" k="4" /> -<hkern g1="z" g2="registered" k="-25" /> -<hkern g1="z" g2="trademark" k="-13" /> -<hkern g1="z" g2="g" k="6" /> -<hkern g1="z" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="10" /> -<hkern g1="z" g2="hyphen,uni00AD,endash,emdash" k="16" /> -<hkern g1="Z" g2="t" k="14" /> -<hkern g1="Z" g2="V" k="6" /> -<hkern g1="Z" g2="W" k="6" /> -<hkern g1="Z" g2="Y,Yacute,Ydieresis" k="14" /> -<hkern g1="Z" g2="periodcentered" k="60" /> -<hkern g1="Z" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="16" /> -<hkern g1="Z" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="6" /> -<hkern g1="Z" g2="f,uniFB01,uniFB02" k="20" /> -<hkern g1="Z" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="20" /> -<hkern g1="Z" g2="u,ugrave,uacute,ucircumflex,udieresis" k="23" /> -<hkern g1="Z" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="10" /> -<hkern g1="Z" g2="v" k="16" /> -<hkern g1="Z" g2="w" k="16" /> -<hkern g1="Z" g2="x" k="24" /> -<hkern g1="Z" g2="y,yacute,ydieresis" k="16" /> -<hkern g1="Z" g2="Z" k="16" /> -<hkern g1="Z" g2="registered" k="-20" /> -<hkern g1="Z" g2="trademark" k="-20" /> -<hkern g1="Z" g2="J" k="33" /> -<hkern g1="Z" g2="S" k="30" /> -<hkern g1="Z" g2="g" k="14" /> -<hkern g1="Z" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="21" /> -<hkern g1="Z" g2="hyphen,uni00AD,endash,emdash" k="34" /> -<hkern g1="Z" g2="guillemotleft,guilsinglleft" k="34" /> -<hkern g1="parenleft,bracketleft,braceleft" g2="j" k="-80" /> -<hkern g1="parenleft,bracketleft,braceleft" g2="J" k="20" /> -<hkern g1="colon,semicolon" g2="j" k="-4" /> -<hkern g1="colon,semicolon" g2="Y,Yacute,Ydieresis" k="26" /> -<hkern g1="colon,semicolon" g2="asterisk" k="49" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="j" k="-26" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="Y,Yacute,Ydieresis" k="92" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="asterisk" k="138" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="11" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="t" k="46" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="T" k="99" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="20" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="v" k="35" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="V" k="65" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="w" k="22" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="W" k="34" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="y,yacute,ydieresis" k="20" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quoteleft,quotedblleft" k="84" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quoteright,quotedblright" k="104" /> -<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quotedbl,quotesingle" k="96" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="J" k="20" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="Y,Yacute,Ydieresis" k="66" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="t" k="26" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="T" k="47" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="v" k="7" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="V" k="19" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="W" k="10" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="S" k="17" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="x" k="14" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="X" k="27" /> -<hkern g1="hyphen,uni00AD,endash,emdash" g2="Z" k="20" /> -<hkern g1="exclam" g2="quoteright,quotedblright" k="32" /> -<hkern g1="guillemotleft,guilsinglleft" g2="Y,Yacute,Ydieresis" k="37" /> -<hkern g1="guillemotleft,guilsinglleft" g2="t" k="14" /> -<hkern g1="guillemotleft,guilsinglleft" g2="T" k="40" /> -<hkern g1="guillemotleft,guilsinglleft" g2="v" k="4" /> -<hkern g1="guillemotleft,guilsinglleft" g2="V" k="17" /> -<hkern g1="guillemotleft,guilsinglleft" g2="W" k="17" /> -<hkern g1="guillemotleft,guilsinglleft" g2="y,yacute,ydieresis" k="4" /> -<hkern g1="guillemotleft,guilsinglleft" g2="x" k="20" /> -<hkern g1="guillemotleft,guilsinglleft" g2="X" k="14" /> -<hkern g1="guillemotright,guilsinglright" g2="J" k="30" /> -<hkern g1="guillemotright,guilsinglright" g2="Y,Yacute,Ydieresis" k="55" /> -<hkern g1="guillemotright,guilsinglright" g2="t" k="33" /> -<hkern g1="guillemotright,guilsinglright" g2="T" k="46" /> -<hkern g1="guillemotright,guilsinglright" g2="v" k="7" /> -<hkern g1="guillemotright,guilsinglright" g2="V" k="21" /> -<hkern g1="guillemotright,guilsinglright" g2="W" k="10" /> -<hkern g1="guillemotright,guilsinglright" g2="y,yacute,ydieresis" k="7" /> -<hkern g1="guillemotright,guilsinglright" g2="S" k="30" /> -<hkern g1="guillemotright,guilsinglright" g2="x" k="24" /> -<hkern g1="guillemotright,guilsinglright" g2="X" k="14" /> -<hkern g1="guillemotright,guilsinglright" g2="Z" k="18" /> -<hkern g1="question" g2="quoteright,quotedblright" k="21" /> -<hkern g1="quoteleft,quotedblleft" g2="J" k="75" /> -<hkern g1="quoteleft,quotedblleft" g2="Y,Yacute,Ydieresis" k="-9" /> -<hkern g1="quoteleft,quotedblleft" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="33" /> -<hkern g1="quoteleft,quotedblleft" g2="V" k="-13" /> -<hkern g1="quoteleft,quotedblleft" g2="W" k="-13" /> -<hkern g1="quoteleft,quotedblleft" g2="S" k="14" /> -<hkern g1="quoteleft,quotedblleft" g2="X" k="7" /> -<hkern g1="quoteleft,quotedblleft" g2="AE" k="85" /> -<hkern g1="quoteleft,quotedblleft" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="43" /> -<hkern g1="quoteleft,quotedblleft" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="56" /> -<hkern g1="quoteleft,quotedblleft" g2="f,uniFB01,uniFB02" k="14" /> -<hkern g1="quoteleft,quotedblleft" g2="g" k="33" /> -<hkern g1="quoteleft,quotedblleft" g2="s" k="10" /> -<hkern g1="quoteleft,quotedblleft" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="83" /> -<hkern g1="quoteleft,quotedblleft" g2="exclamdown" k="53" /> -<hkern g1="quoteleft,quotedblleft" g2="questiondown" k="133" /> -<hkern g1="quoteright,quotedblright" g2="J" k="82" /> -<hkern g1="quoteright,quotedblright" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="58" /> -<hkern g1="quoteright,quotedblright" g2="X" k="7" /> -<hkern g1="quoteright,quotedblright" g2="AE" k="85" /> -<hkern g1="quoteright,quotedblright" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" k="65" /> -<hkern g1="quoteright,quotedblright" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="58" /> -<hkern g1="quoteright,quotedblright" g2="f,uniFB01,uniFB02" k="16" /> -<hkern g1="quoteright,quotedblright" g2="g" k="45" /> -<hkern g1="quoteright,quotedblright" g2="s" k="49" /> -<hkern g1="quoteright,quotedblright" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="132" /> -<hkern g1="quoteright,quotedblright" g2="m,n,p,r,ntilde" k="13" /> -<hkern g1="quoteright,quotedblright" g2="z" k="26" /> -<hkern g1="quotedbl,quotesingle" g2="J" k="95" /> -<hkern g1="quotedbl,quotesingle" g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" k="29" /> -<hkern g1="quotedbl,quotesingle" g2="S" k="10" /> -<hkern g1="quotedbl,quotesingle" g2="X" k="10" /> -<hkern g1="quotedbl,quotesingle" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="55" /> -<hkern g1="quotedbl,quotesingle" g2="s" k="20" /> -<hkern g1="quotedbl,quotesingle" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="115" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf b/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf deleted file mode 100644 index 4d56c337a36dfe84c015c6c021034a536618c7f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68656 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 diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff b/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff deleted file mode 100644 index 4681019d82c0f1d225424e5fd751649cdb265458..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21720 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 I+-(dD09T*lo&W#< diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 b/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 deleted file mode 100644 index 8ddcae37b286d4822b3fc187423725f28cbbebde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16636 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∋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 BHzNQ5 diff --git a/docs/global.html b/docs/global.html index 1fed1a320..fe898c50d 100644 --- a/docs/global.html +++ b/docs/global.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -166,82 +166,6 @@ -<h4 class="name" id="DEFAULT_THEME"> - <a href="#DEFAULT_THEME">#</a> - <span class="type-signature">(constant) </span>DEFAULT_THEME<span class="type-signature"> :string</span> -</h4> - - - - -<div class="description"> - <p>default theme</p> -</div> - - - - <div class="member-item-container flex"> - <strong>Type: </strong> - <ul> - <li> - -<span class="param-type">string</span> - - - </li> - </ul> - </div> - - - - - - - -<dl class="details"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</dl> - - - - - - - - - - <h4 class="name" id="Monster"> <a href="#Monster">#</a> <span class="type-signature">(constant) </span>Monster<span class="type-signature"> :Namespace</span> @@ -338,13 +262,13 @@ Key and value can be either a definition or a template. The key does not have to be defined.</p> <p>You can call the method via the monster namespace <code>Monster.Data.buildMap()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/buildmap.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/buildmap.js'; console.log(Monster.Data.buildMap()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/buildmap.js'; +import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/buildmap.js'; console.log(buildMap()) </script> </code></pre> diff --git a/docs/global.html#Monster b/docs/global.html#Monster index 2c8ce8f48..aba3b5d77 100644 --- a/docs/global.html#Monster +++ b/docs/global.html#Monster @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -250,7 +250,7 @@ <p>you must call the method in the monster namespace. this allows you to mount your own classes, objects and functions into the namespace.</p> <p>To avoid confusion and so that you do not accidentally overwrite existing functions, you should use the custom namespace <code>X</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/namespace.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js'; function hello() { console.log('Hello World!'); } @@ -429,14 +429,14 @@ Monster.X.hello(); // ↦ Hello World! <p>Version of monster</p> <p>you can call the method via the monster namespace <code>Monster.getVersion()</code>.</p> <pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; +import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; console.log(Monster.getVersion()) console.log(Monster.getVersion()) </script> </code></pre> <p>Alternatively, you can also integrate this function individually.</p> <pre class="prettyprint source"><code><script type="module"> -import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; +import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; console.log(getVersion()) console.log(getVersion()) </script> diff --git a/docs/index.html b/docs/index.html index 61afd9a3a..be80856cf 100644 --- a/docs/index.html +++ b/docs/index.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -142,6 +142,7 @@ <section class="readme"> <article><p><img src="https://gitlab.schukai.com/uploads/-/system/project/avatar/337/monster.png?width=255" alt=""></p> <h1>Monster</h1> +<p><img src="https://gitlab.schukai.com/oss/libraries/javascript/monster/badges/master/pipeline.svg?style=flat-square" alt=""></p> <p><strong>Build fantastic websites!</strong></p> <p>Monster is a lightweight, robust and easy-to-use library with modest ambitions. Monster integrates easily into your existing websites without taking over everything.</p> <p>It is not the goal of Monster to pull in a completely new abstraction with its own language, but to combine the existing techniques of HTML, CSS and Javascript in a meaningful way.</p> diff --git a/docs/logging_handler.js.html b/docs/logging_handler.js.html deleted file mode 100644 index d947b6e35..000000000 --- a/docs/logging_handler.js.html +++ /dev/null @@ -1,368 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - logging/handler.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - logging/handler.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {Base} from '../types/base.js'; -import {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from "./logger.js"; -import {LogEntry} from "./logentry.js"; -import {validateInstance, validateInteger} from "../types/validate.js"; - -/** - * you can call the method via the monster namespace `new Monster.Logging.Handler()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js'; - * console.log(new Monster.Logging.Handler()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js'; - * console.log(new Handler()) - * </script> - * ``` - * - * @since 1.5.0 - * @copyright schukai GmbH - * @memberOf Monster/Logging - */ -class Handler extends Base { - constructor() { - super(); - - /** - * Loglevel - * - * @type {integer} - */ - this.loglevel = OFF; - } - - /** - * this is the central log function. this method must be - * overwritten by derived handlers with their own logic. - * - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00; - * - * @param {LogEntry} entry - * @returns {boolean} - */ - log(entry) { - validateInstance(entry, LogEntry); - - if (this.loglevel < entry.getLogLevel()) { - return false; - } - - return true; - } - - /** - * set loglevel - * - * @param {integer} loglevel - * @returns {Handler} - * @since 1.5.0 - */ - setLogLevel(loglevel) { - validateInteger(loglevel) - this.loglevel = loglevel; - return this; - } - - /** - * get loglevel - * - * @returns {integer} - * @since 1.5.0 - */ - getLogLevel() { - return this.loglevel; - } - - /** - * Set log level to All - * - * @returns {Handler} - * @since 1.5.0 - */ - setAll() { - this.setLogLevel(ALL); - return this; - }; - - /** - * Set log level to Trace - * - * @returns {Handler} - * @since 1.5.0 - */ - setTrace() { - this.setLogLevel(TRACE); - return this; - }; - - /** - * Set log level to Debug - * - * @returns {Handler} - * @since 1.5.0 - */ - setDebug() { - this.setLogLevel(DEBUG); - return this; - }; - - /** - * Set log level to Info - * - * @returns {Handler} - * @since 1.5.0 - */ - setInfo() { - this.setLogLevel(INFO); - return this; - }; - - /** - * Set log level to Warn - * - * @returns {undefined} - * @since 1.5.0 - */ - setWarn() { - this.setLogLevel(WARN); - return this; - }; - - /** - * Set log level to Error - * - * @returns {Handler} - * @since 1.5.0 - */ - setError() { - this.setLogLevel(ERROR); - return this; - }; - - /** - * Set log level to Fatal - * - * @returns {Handler} - * @since 1.5.0 - */ - setFatal() { - this.setLogLevel(FATAL); - return this; - }; - - - /** - * Set log level to Off - * - * @returns {Handler} - * @since 1.5.0 - */ - setOff() { - this.setLogLevel(OFF); - return this; - }; - - -} - - -Monster.assignToNamespace('Monster.Logging', Handler); -export {Monster, Handler}; -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/logging_handler_console.js.html b/docs/logging_handler_console.js.html deleted file mode 100644 index 948d9eee8..000000000 --- a/docs/logging_handler_console.js.html +++ /dev/null @@ -1,226 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - logging/handler/console.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - logging/handler/console.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../../namespace.js'; -import {Base} from '../../types/base.js'; -import {Handler} from '../../logging/handler.js'; - -/** - * you can call the method via the monster namespace `new Monster.Logging.Handler.ConsoleHandler()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js'; - * console.log(new Monster.Logging.Handler.ConsoleHandler()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js'; - * console.log(new ConsoleHandler()) - * </script> - * ``` - * - * @since 1.5.0 - * @copyright schukai GmbH - * @memberOf Monster/Logging/Handler - */ -class ConsoleHandler extends Base { - constructor() { - super(); - } -} - - -Monster.assignToNamespace('Monster.Logging', ConsoleHandler); -export {Monster, Handler}; -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/logging_handler_namespace.js.html b/docs/logging_handler_namespace.js.html deleted file mode 100644 index c39aac6d5..000000000 --- a/docs/logging_handler_namespace.js.html +++ /dev/null @@ -1,196 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - logging/handler/namespace.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - logging/handler/namespace.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @namespace Monster/Logging/Handler - * @author schukai GmbH - */ - - -/** - * @private - * @type {string} - */ -const namespace="Monster.Logging.Handler";</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/logging_logentry.js.html b/docs/logging_logentry.js.html deleted file mode 100644 index a0212fb03..000000000 --- a/docs/logging_logentry.js.html +++ /dev/null @@ -1,252 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - logging/logentry.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - logging/logentry.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {validateInteger} from '../types/validate.js'; -import {Base} from '../types/base.js'; - - -/** - * you can call the method via the monster namespace `new Monster.Logging.LogEntry()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js'; - * console.log(new Monster.Logging.LogEntry()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js'; - * console.log(new LogEntry()) - * </script> - * ``` - * - * @since 1.5.0 - * @copyright schukai GmbH - * @memberOf Monster/Logging - */ -class LogEntry extends Base { - /** - * - * @param {int} loglevel - * @param {*} args - */ - constructor(loglevel, ...args) { - super(); - validateInteger(loglevel); - - this.loglevel = loglevel - this.arguments = args - } - - /** - * - * @returns {integerr} - */ - getLogLevel() { - return this.loglevel - } - - /** - * - * @returns {array} - */ - getArguments() { - return this.arguments - } - -} - -Monster.assignToNamespace('Monster.Logging', LogEntry); -export {Monster, LogEntry} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/logging_logger.js.html b/docs/logging_logger.js.html deleted file mode 100644 index e7f366490..000000000 --- a/docs/logging_logger.js.html +++ /dev/null @@ -1,464 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - logging/logger.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - logging/logger.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {validateInteger, validateObject, validateString} from '../types/validate.js'; -import {Handler} from '../logging/handler.js'; -import {LogEntry} from '../logging/logentry.js'; -import {Base} from '../types/base.js'; - - -/** - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF - * @type {number} - * @memberOf Monster/Logging - */ -const ALL = 255; -/** - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF - * @type {number} - * @memberOf Monster/Logging - */ -const TRACE = 64; -/** - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF - * @type {number} - * @memberOf Monster/Logging - */ -const DEBUG = 32; -/** - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF - * @type {number} - * @memberOf Monster/Logging - */ -const INFO = 16; -/** - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF - * @type {number} - * @memberOf Monster/Logging - */ -const WARN = 8; -/** - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF - * @type {number} - * @memberOf Monster/Logging - */ -const ERROR = 4; -/** - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF - * @type {number} - * @memberOf Monster/Logging - */ -const FATAL = 2; -/** - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF - * @type {number} - * @memberOf Monster/Logging - */ -const OFF = 0; - -/** - * you can call the method via the monster namespace `new Monster.Logging.Logger()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js'; - * console.log(new Monster.Logging.Logger()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js'; - * console.log(new Logger()) - * </script> - * ``` - * - * @since 1.5.0 - * @copyright schukai GmbH - * @memberOf Monster/Logging - */ -class Logger extends Base { - - /** - * - */ - constructor() { - super(); - this.handler = new Set; - } - - /** - * - * @param {Handler} handler - * @returns {Logger} - * @throws {Error} the handler must be an instance of Handler - */ - addHandler(handler) { - validateObject(handler) - if (!(handler instanceof Handler)) { - throw new Error("the handler must be an instance of Handler") - } - - this.handler.add(handler) - return this; - } - - /** - * - * @param {Handler} handler - * @returns {Logger} - * @throws {Error} the handler must be an instance of Handler - */ - removeHandler(handler) { - validateObject(handler) - if (!(handler instanceof Handler)) { - throw new Error("the handler must be an instance of Handler") - } - - this.handler.delete(handler); - return this; - } - - /** - * log Trace message - * - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00; - * - * @param {*} arguments - * @returns {Logger} - * @since 1.5.0 - */ - logTrace() { - triggerLog.apply(this, [TRACE, ...arguments]); - return this; - }; - - /** - * log Debug message - * - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00; - * - * @param {*} arguments - * @returns {Logger} - * @since 1.5.0 - */ - logDebug() { - triggerLog.apply(this, [DEBUG, ...arguments]); - return this; - }; - - /** - * log Info message - * - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00; - * - * - * @param {*} arguments - * @returns {Logger} - * @since 1.5.0 - */ - logInfo() { - triggerLog.apply(this, [INFO, ...arguments]); - return this; - }; - - /** - * log Warn message - * - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00; - * - * @param {*} arguments - * @returns {Logger} - * @since 1.5.0 - */ - logWarn() { - triggerLog.apply(this, [WARN, ...arguments]); - return this; - }; - - /** - * log Error message - * - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00; - * - * @param {*} arguments - * @returns {Logger} - * @since 1.5.0 - */ - logError() { - triggerLog.apply(this, [ERROR, ...arguments]); - return this; - }; - - /** - * log Fatal message - * - * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00; - * - * @param {*} arguments - * @returns {Logger} - * @since 1.5.0 - */ - logFatal() { - triggerLog.apply(this, [FATAL, ...arguments]); - return this; - }; - - - /** - * Labels - * - * @param {integer} level - * @returns {string} - */ - getLabel(level) { - validateInteger(level); - - if (level === ALL) return 'ALL'; - if (level === TRACE) return 'TRACE'; - if (level === DEBUG) return 'DEBUG'; - if (level === INFO) return 'INFO'; - if (level === WARN) return 'WARN'; - if (level === ERROR) return 'ERROR'; - if (level === FATAL) return 'FATAL'; - if (level === OFF) return 'OFF'; - - return 'unknown'; - }; - - /** - * Level - * - * @param {string} label - * @returns {integer} - */ - getLevel(label) { - validateString(label); - - if (label === 'ALL') return ALL; - if (label === 'TRACE') return TRACE; - if (label === 'DEBUG') return DEBUG; - if (label === 'INFO') return INFO; - if (label === 'WARN') return WARN; - if (label === 'ERROR') return ERROR; - if (label === 'FATAL') return FATAL; - if (label === 'OFF') return OFF; - - return 0; - }; - - -} - -Monster.assignToNamespace('Monster.Logging', Logger); -export {Monster, Logger, ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF}; - - -/** - * Log triggern - * - * @param {integer} loglevel - * @param {*} args - * @returns {Logger} - * @private - */ -function triggerLog(loglevel, ...args) { - var logger = this; - - for (let handler of logger.handler) { - handler.log(new LogEntry(loglevel, args)) - } - - return logger; - -} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/logging_namespace.js.html b/docs/logging_namespace.js.html deleted file mode 100644 index a34c27064..000000000 --- a/docs/logging_namespace.js.html +++ /dev/null @@ -1,196 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - logging/namespace.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - logging/namespace.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @namespace Monster/Logging - * @author schukai GmbH - */ - - -/** - * @private - * @type {string} - */ -const namespace="Monster.Logging";</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/math_namespace.js.html b/docs/math_namespace.js.html deleted file mode 100644 index 2abe34280..000000000 --- a/docs/math_namespace.js.html +++ /dev/null @@ -1,196 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - math/namespace.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - math/namespace.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @namespace Monster/Math - * @author schukai GmbH - */ - - -/** - * @private - * @type {string} - */ -const namespace="Monster.Math";</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/math_random.js.html b/docs/math_random.js.html deleted file mode 100644 index 483ba0b37..000000000 --- a/docs/math_random.js.html +++ /dev/null @@ -1,306 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - math/random.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - math/random.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - - -import {Monster, getGlobal} from '../types/global.js'; - - -/** - * this function uses crypt and returns a random number. - * - * you can call the method via the monster namespace `Monster.Math.random()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js'; - * console.log(Monster.Math.random(1,10)) // ↦ 5 - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js'; - * console.log(random(1,10)) // ↦ 5 - * </script> - * ``` - * - * @param {number} min starting value of the definition set (default is 0) - * @param {number} max end value of the definition set (default is 1000000000) - * @returns {number} - * @memberOf Monster/Math - - * @since 1.0.0 - * @copyright schukai GmbH - */ -function random(min, max) { - - if (min === undefined) { - min = 0; - } - if (max === undefined) { - max = MAX; - } - - if (max < min) { - throw new Error("max must be greater than min"); - } - - return Math.round(create(min, max)); - -} - -/** - * @private - * @type {number} - */ -var MAX = 1000000000; - - -Math.log2 = Math.log2 || function (n) { - return Math.log(n) / Math.log(2); -}; - -/** - * - * @param min - * @param max - * @returns {*} - * @private - */ -function create(min, max) { - let crypt; - let globalReference = getGlobal(); - - crypt = globalReference?.['crypto'] || globalReference?.['msCrypto'] || globalReference?.['crypto'] || undefined; - - if (typeof crypt === "undefined") { - throw new Error("missing crypt") - } - - let rval = 0; - const range = max - min; - if (range < 2) { - return min; - } - - const bitsNeeded = Math.ceil(Math.log2(range)); - if (bitsNeeded > 53) { - throw new Error("we cannot generate numbers larger than 53 bits."); - } - const bytesNeeded = Math.ceil(bitsNeeded / 8); - const mask = Math.pow(2, bitsNeeded) - 1; - - const byteArray = new Uint8Array(bytesNeeded); - crypt.getRandomValues(byteArray); - - let p = (bytesNeeded - 1) * 8; - for (var i = 0; i < bytesNeeded; i++) { - rval += byteArray[i] * Math.pow(2, p); - p -= 8; - } - - rval = rval & mask; - - if (rval >= range) { - return create(min, max); - } - - return min + rval; - -} - -Monster.assignToNamespace('Monster.Math', random); -export {Monster, random} - - - - -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/namespace.js.html b/docs/namespace.js.html deleted file mode 100644 index 2d5d092d3..000000000 --- a/docs/namespace.js.html +++ /dev/null @@ -1,343 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - namespace.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - namespace.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @namespace Monster - * @author schukai GmbH - */ - - -/** - * namespace class objects form the basic framework of the namespace administration. - * - * all functions, classes and objects of the library hang within the namespace tree. - * - * via `obj instanceof Monster.Namespace` it is also easy to check whether it is an object or a namespace. - * - * @memberOf Monster - * @copyright schukai GmbH - * @since 1.0.0 - */ -class Namespace { - - /** - * - * @param namespace - * @param obj - */ - constructor(namespace) { - if (namespace === undefined || typeof namespace !== 'string') { - throw new Error("namespace is not a string") - } - this.namespace = namespace; - } - - /** - * - * @returns {string} - */ - getNamespace() { - return this.namespace; - } - - /** - * - * @returns {string} - */ - toString() { - return this.getNamespace(); - } -} - -/** - * @type {Namespace} - * @global - */ -export const Monster = new Namespace("Monster"); - - -/** - * - */ -assignToNamespace('Monster', assignToNamespace); - -/** - * To expand monster, the `Monster.assignToNamespace()` method can be used. - * - * you must call the method in the monster namespace. this allows you to mount your own classes, objects and functions into the namespace. - * - * To avoid confusion and so that you do not accidentally overwrite existing functions, you should use the custom namespace `X`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/namespace.js'; - * function hello() { - * console.log('Hello World!'); - * } - * Monster.assignToNamespace("Monster.X",hello) - * Monster.X.hello(); // ↦ Hello World! - * </script> - * - * ``` - * - * @param ns - * @param obj - * @memberOf Monster - - */ -function assignToNamespace(ns, ...obj) { - let current = namespaceFor(ns.split(".")); - - for (let i = 0, l = obj.length; i < l; i++) { - current[objectName(obj[i])] = obj[i]; - } -} - -/** - * - * @param fn - * @returns {string|*} - * @private - */ -function objectName(fn) { - try { - - if (typeof fn !== 'function') { - throw new Error("the first argument is not a function or class."); - } - - if (fn.hasOwnProperty('name')) { - return fn.name; - } - - if ("function" === typeof fn.toString) { - let s = fn.toString(); - let f = s.match(/^\s*function\s+([^\s(]+)/); - if (Array.isArray(f) && typeof f[1] === 'string') { - return f[1]; - } - let c = s.match(/^\s*class\s+([^\s(]+)/); - if (Array.isArray(c) && typeof c[1] === 'string') { - return c[1]; - } - } - - } catch (e) { - throw new Error("exception " + e); - } - - throw new Error("the name of the class or function cannot be resolved."); -} - -/** - * - * @param parts - * @returns {Namespace} - * @private - */ -function namespaceFor(parts) { - var space = Monster, ns = 'Monster'; - - for (let i = 0; i < parts.length; i++) { - - if ("Monster" === parts[i]) { - continue; - } - - ns += '.' + parts[i]; - - if (!space.hasOwnProperty(parts[i])) { - space[parts[i]] = new Namespace(ns); - } - - space = space[parts[i]]; - } - - return space; -} - - -export {assignToNamespace} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/namespace_Monster_DOM.Assembler.html b/docs/namespace_Monster_DOM.Assembler.html deleted file mode 100644 index 5a0ee9c11..000000000 --- a/docs/namespace_Monster_DOM.Assembler.html +++ /dev/null @@ -1,815 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - - <meta charset="utf-8"> - <title>Assembler - awaken the monster in you; javascript library by schukai GmbH</title> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <script src="scripts/prettify/prettify.js"></script> - <script src="scripts/prettify/lang-css.js"></script> - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/prettify.css"> - <link type="text/css" rel="stylesheet" href="styles/jsdoc.css"> - <script src="scripts/nav.js" defer></script> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> -</head> -<body> - -<input type="checkbox" id="nav-trigger" class="nav-trigger" /> -<label for="nav-trigger" class="navicon-button x"> - <div class="navicon"></div> -</label> - -<label for="nav-trigger" class="overlay"></label> - -<nav > - - <input type="text" id="nav-search" placeholder="Search" /> - - <h2><a href="index.html">Home</a></h2><h2><a href="https://www.schukai.com/" target="_blank" class="menu-item" id="schukai_link" >schukai GmbH</a></h2><h2><a href="https://www.npmjs.com/package/@schukai/monster" target="_blank" class="menu-item" id="npm_link" >NPM</a></h2><h3>Namespaces</h3><ul><li><a href="global.html#Monster">Monster</a><ul class='methods'><li data-type='method' style='display: none;'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method' style='display: none;'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li></ul><h3>Classes</h3><ul><li><a href="Monster.Namespace.html">Namespace</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li><a href="Monster_Constraints.AndOperator.html">AndOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Invalid.html">Invalid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsArray.html">IsArray</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsObject.html">IsObject</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.OrOperator.html">OrOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Valid.html">Valid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Data.Pathfinder.html">Pathfinder</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li><a href="Monster_Data.Pipe.html">Pipe</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li><a href="Monster_Data.Transformer.html">Transformer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li><a href="Monster_DOM.Handle.html">Handle</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.Handle.html#append">append</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Handle.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Handle.html#update">update</a></li></ul></li><li><a href="Monster_DOM.Template.html">Template</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li><a href="Monster_Logging.Handler.html">Handler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li><a href="Monster_Logging.LogEntry.html">LogEntry</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li><a href="Monster_Logging.Logger.html">Logger</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li><a href="Monster_Types.Base.html">Base</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.ID.html">ID</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.Observer.html">Observer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li><a href="Monster_Types.ObserverList.html">ObserverList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li><a href="Monster_Types.Queue.html">Queue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.RandomID.html">RandomID</a></li><li><a href="Monster_Types.Stack.html">Stack</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li><a href="Monster_Types.TokenList.html">TokenList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.Version.html">Version</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li><a href="Monster_Util.Comparator.html">Comparator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li><li><a href="namespace_Monster_DOM.Assembler.html">Assembler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="namespace_Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="namespace_Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method' style='display: none;'><a href="namespace_Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li></ul><h3><a href="global.html">Global</a></h3> -</nav> - -<div id="main"> - - <h1 class="page-title">Assembler</h1> - - - - - - - -<section> - -<header> - - <h2> - Assembler - </h2> - - <div class="class-description usertext"><p>assembler class</p> -<p>you can call the method via the monster namespace <code>new Monster.DOM.Assembler()</code>.</p> -<pre class="prettyprint source"><code><script type="module"> -import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/assembler.js'; -console.log(new Monster.DOM.Assembler()) -</script> -</code></pre> -<p>Alternatively, you can also integrate this function individually.</p> -<pre class="prettyprint source"><code><script type="module"> -import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/assembler.js'; -console.log(new Assembler()) -</script> -</code></pre></div> - - -</header> - -<article> - - <div class="container-overview"> - - - - - <h2>Constructor</h2> - - - <h4 class="name" id="Assembler"><span class="type-signature"></span>new Assembler<span class="signature">(fragment)</span><span class="type-signature"></span></h4> - - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line44">line 44</a> - </li></ul></dd> - - - - - - <dt class="tag-since">Since:</dt> - <dd class="tag-since"><ul class="dummy"><li>1.6.0</li></ul></dd> - - - - - - - - - - - - - - - - - - <dt class="tag-copyright">Copyright:</dt> - <dd class="tag-copyright"><ul class="dummy"><li>schukai GmbH</li></ul></dd> - - - - - - - - - - - -</dl> - - - - - - - - - - - - - - - - <h5>Parameters:</h5> - - -<table class="params"> - <thead> - <tr> - - <th>Name</th> - - - <th>Type</th> - - - - - - <th class="last">Description</th> - </tr> - </thead> - - <tbody> - - - <tr> - - <td class="name"><code>fragment</code></td> - - - <td class="type"> - - -<span class="param-type">DocumentFragment</span> - - - - </td> - - - - - - <td class="description last"></td> - </tr> - - - </tbody> -</table> - - - - - - - - - - - - - - -<h5>Throws:</h5> -<ul> - <li> - -<dl> - <dt> - <div class="param-desc usertext"> - <p>value is not an instance of</p> - </div> - </dt> - <dd></dd> - <dt> - <dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">TypeError</span> - - - </dd> - </dl> - </dt> - <dd></dd> -</dl> - -</li> - - <li> - -<dl> - <dt> - <div class="param-desc usertext"> - <p>value is not a function</p> - </div> - </dt> - <dd></dd> - <dt> - <dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">TypeError</span> - - - </dd> - </dl> - </dt> - <dd></dd> -</dl> - -</li> - - <li> - -<dl> - <dt> - <div class="param-desc usertext"> - <p>the function is not defined</p> - </div> - </dt> - <dd></dd> - <dt> - <dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">Error</span> - - - </dd> - </dl> - </dt> - <dd></dd> -</dl> - -</li> - </ul> - - - - - - - </div> - - - - - - - - - - - - - - - - - - <h3 class="subsection-title">Methods</h3> - - - - - - - <h4 class="name" id="createDocumentFragment"><span class="type-signature"></span>createDocumentFragment<span class="signature">(data)</span><span class="type-signature"> → {DocumentFragment}</span></h4> - - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line85">line 85</a> - </li></ul></dd> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</dl> - - - - - - - - - - - - - - - - <h5>Parameters:</h5> - - -<table class="params"> - <thead> - <tr> - - <th>Name</th> - - - <th>Type</th> - - - - - - <th class="last">Description</th> - </tr> - </thead> - - <tbody> - - - <tr> - - <td class="name"><code>data</code></td> - - - <td class="type"> - - -<span class="param-type">ProxyObserver</span> -| - -<span class="param-type">undefined</span> - - - - </td> - - - - - - <td class="description last"></td> - </tr> - - - </tbody> -</table> - - - - - - - - - - - - - - -<h5>Throws:</h5> - - - -<dl> - <dt> - <div class="param-desc usertext"> - <p>value is not an instance of</p> - </div> - </dt> - <dd></dd> - <dt> - <dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">TypeError</span> - - - </dd> - </dl> - </dt> - <dd></dd> -</dl> - - - - - -<h5>Returns:</h5> - - - - -<dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">DocumentFragment</span> - - - </dd> -</dl> - - - - - - - - - - - <h4 class="name" id="getAttributePrefix"><span class="type-signature"></span>getAttributePrefix<span class="signature">()</span><span class="type-signature"> → {string}</span></h4> - - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line75">line 75</a> - </li></ul></dd> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</dl> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<h5>Returns:</h5> - - - - -<dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">string</span> - - - </dd> -</dl> - - - - - - - - - - - <h4 class="name" id="setAttributePrefix"><span class="type-signature"></span>setAttributePrefix<span class="signature">(prefix)</span><span class="type-signature"> → {Assembler}</span></h4> - - - - - - -<dl class="details"> - - - <dt class="tag-source">Source:</dt> - <dd class="tag-source"><ul class="dummy"><li> - <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line65">line 65</a> - </li></ul></dd> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</dl> - - - - - - - - - - - - - - - - <h5>Parameters:</h5> - - -<table class="params"> - <thead> - <tr> - - <th>Name</th> - - - <th>Type</th> - - - - - - <th class="last">Description</th> - </tr> - </thead> - - <tbody> - - - <tr> - - <td class="name"><code>prefix</code></td> - - - <td class="type"> - - -<span class="param-type">string</span> - - - - </td> - - - - - - <td class="description last"></td> - </tr> - - - </tbody> -</table> - - - - - - - - - - - - - - -<h5>Throws:</h5> - - - -<dl> - <dt> - <div class="param-desc usertext"> - <p>value is not a string</p> - </div> - </dt> - <dd></dd> - <dt> - <dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">TypeError</span> - - - </dd> - </dl> - </dt> - <dd></dd> -</dl> - - - - - -<h5>Returns:</h5> - - - - -<dl class="param-type"> - <dt> - Type - </dt> - <dd> - -<span class="param-type">Assembler</span> - - - </dd> -</dl> - - - - - - - - - - - -</article> - -</section> - - - - - - -</div> - -<br class="clear"> - -<footer> -</footer> - -<script>prettyPrint();</script> -<script src="scripts/polyfill.js"></script> -<script src="scripts/linenumber.js"></script> - -<script src="scripts/search.js" defer></script> - - -<script src="scripts/collapse.js" defer></script> - - -</body> -</html> \ No newline at end of file diff --git a/docs/scripts/collapse.js b/docs/scripts/collapse.js deleted file mode 100644 index 327039fb3..000000000 --- a/docs/scripts/collapse.js +++ /dev/null @@ -1,20 +0,0 @@ -function hideAllButCurrent(){ - //by default all submenut items are hidden - //but we need to rehide them for search - document.querySelectorAll("nav > ul > li > ul li").forEach(function(parent) { - parent.style.display = "none"; - }); - - //only current page (if it exists) should be opened - var file = window.location.pathname.split("/").pop().replace(/\.html/, ''); - document.querySelectorAll("nav > ul > li > a").forEach(function(parent) { - var href = parent.attributes.href.value.replace(/\.html/, ''); - if (file === href) { - parent.parentNode.querySelectorAll("ul li").forEach(function(elem) { - elem.style.display = "block"; - }); - } - }); -} - -hideAllButCurrent(); \ No newline at end of file diff --git a/docs/scripts/nav.js b/docs/scripts/nav.js deleted file mode 100644 index 6dd831342..000000000 --- a/docs/scripts/nav.js +++ /dev/null @@ -1,12 +0,0 @@ -function scrollToNavItem() { - var path = window.location.href.split('/').pop().replace(/\.html/, ''); - document.querySelectorAll('nav a').forEach(function(link) { - var href = link.attributes.href.value.replace(/\.html/, ''); - if (path === href) { - link.scrollIntoView({block: 'center'}); - return; - } - }) - } - - scrollToNavItem(); diff --git a/docs/scripts/polyfill.js b/docs/scripts/polyfill.js deleted file mode 100644 index 44b4c92dc..000000000 --- a/docs/scripts/polyfill.js +++ /dev/null @@ -1,4 +0,0 @@ -//IE Fix, src: https://www.reddit.com/r/programminghorror/comments/6abmcr/nodelist_lacks_foreach_in_internet_explorer/ -if (typeof(NodeList.prototype.forEach)!==typeof(alert)){ - NodeList.prototype.forEach=Array.prototype.forEach; -} \ No newline at end of file diff --git a/docs/scripts/prettify/Apache-License-2.0.txt b/docs/scripts/prettify/Apache-License-2.0.txt deleted file mode 100644 index d64569567..000000000 --- a/docs/scripts/prettify/Apache-License-2.0.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/scripts/prettify/lang-css.js b/docs/scripts/prettify/lang-css.js deleted file mode 100644 index 041e1f590..000000000 --- a/docs/scripts/prettify/lang-css.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com", -/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); diff --git a/docs/scripts/prettify/prettify.js b/docs/scripts/prettify/prettify.js deleted file mode 100644 index eef5ad7e6..000000000 --- a/docs/scripts/prettify/prettify.js +++ /dev/null @@ -1,28 +0,0 @@ -var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; -(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= -[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c< -f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&& -(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r= -{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length, -t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b=== -"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), -l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, -q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, -q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, -"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), -a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} -for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value", -m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m= -a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue= -j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], -"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], -H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], -J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ -I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), -["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", -/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), -["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", -hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b= -!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m, -250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit", -PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})(); diff --git a/docs/styles/jsdoc.css b/docs/styles/jsdoc.css deleted file mode 100644 index eb452659b..000000000 --- a/docs/styles/jsdoc.css +++ /dev/null @@ -1,765 +0,0 @@ -* { - box-sizing: border-box -} - -html, body { - height: 100%; - width: 100%; -} - -body { - color: #4d4e53; - background-color: white; - margin: 0 auto; - padding: 0 20px; - font-family: 'Helvetica Neue', Helvetica, sans-serif; - font-size: 16px; -} - -img { - max-width: 100%; -} - -a, -a:active { - color: #606; - text-decoration: none; -} - -a:hover { - text-decoration: none; -} - -article a { - border-bottom: 1px solid #ddd; -} - -article a:hover, article a:active { - border-bottom-color: #222; -} - -article .description a { - word-break: break-word; -} - -p, ul, ol, blockquote { - margin-bottom: 1em; - line-height: 160%; -} - -h1, h2, h3, h4, h5, h6 { - font-family: 'Montserrat', sans-serif; -} - -h1, h2, h3, h4, h5, h6 { - color: #000; - font-weight: 400; - margin: 0; -} - -h1 { - font-weight: 300; - font-size: 48px; - margin: 1em 0 .5em; -} - -h1.page-title { - font-size: 48px; - margin: 1em 30px; - line-height: 100%; - word-wrap: break-word; -} - -h2 { - font-size: 24px; - margin: 1.5em 0 .3em; -} - -h3 { - font-size: 24px; - margin: 1.2em 0 .3em; -} - -h4 { - font-size: 18px; - margin: 1em 0 .2em; - color: #4d4e53; -} - -h4.name { - color: #fff; - background: #6d426d; - box-shadow: 0 .25em .5em #d3d3d3; - border-top: 1px solid #d3d3d3; - border-bottom: 1px solid #d3d3d3; - margin: 1.5em 0 0.5em; - padding: .75em 0 .75em 10px; -} - -h4.name a { - color: #fc83ff; -} - -h4.name a:hover { - border-bottom-color: #fc83ff; -} - -h5, .container-overview .subsection-title { - font-size: 120%; - letter-spacing: -0.01em; - margin: 8px 0 3px 0; -} - -h6 { - font-size: 100%; - letter-spacing: -0.01em; - margin: 6px 0 3px 0; - font-style: italic; -} - -.usertext h1 { - font-family: "Source Sans Pro"; - font-size: 24px; - margin: 2.5em 0 1em; - font-weight: 400; -} - -.usertext h2 { - font-family: "Source Sans Pro"; - font-size: 18px; - margin: 2em 0 0.5em; - font-weight: 400; - -} - -.usertext h3 { - font-family: "Source Sans Pro"; - font-size: 15px; - margin: 1.5em 0 0; - font-weight: 400; -} - -.usertext h4 { - font-family: "Source Sans Pro"; - font-size: 14px; - margin: 0 0 0; - font-weight: 400; -} - -.usertext h5 { - font-size: 12px; - margin: 1em 0 0; - font-weight: normal; - color: #666; -} - -.usertext h6 { - font-size: 11px; - margin: 1em 0 0; - font-weight: normal; - font-style: normal; - color: #666; -} - - -tt, code, kbd, samp { - font-family: Consolas, Monaco, 'Andale Mono', monospace; - background: #f4f4f4; - padding: 1px 5px; -} - -.class-description { - font-size: 130%; - line-height: 140%; - margin-bottom: 1em; - margin-top: 1em; -} - -.class-description:empty { - margin: 0 -} - -#main { - float: right; - width: calc(100% - 240px); -} - -header { - display: block -} - -section { - display: block; - background-color: #fff; - padding: 0 0 0 30px; -} - -.variation { - display: none -} - -.signature-attributes { - font-size: 60%; - color: #eee; - font-style: italic; - font-weight: lighter; -} - -nav { - float: left; - display: block; - width: 250px; - background: #fff; - overflow: auto; - position: fixed; - height: 100%; -} - -nav #nav-search{ - width: 210px; - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; - margin-right: 20px; - margin-top: 20px; -} - -nav.wrap a{ - word-wrap: break-word; -} - -nav h3 { - margin-top: 12px; - font-size: 13px; - text-transform: uppercase; - letter-spacing: 1px; - font-weight: 700; - line-height: 24px; - margin: 15px 0 10px; - padding: 0; - color: #000; -} - -nav ul { - font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif; - font-size: 100%; - line-height: 17px; - padding: 0; - margin: 0; - list-style-type: none; -} - -nav ul a, -nav ul a:active { - font-family: 'Montserrat', sans-serif; - line-height: 18px; - padding: 0; - display: block; - font-size: 12px; -} - -nav a:hover, -nav a:active { - color: #606; -} - -nav > ul { - padding: 0 10px; -} - -nav > ul > li > a { - color: #606; - margin-top: 10px; -} - -nav ul ul a { - color: hsl(207, 1%, 60%); - border-left: 1px solid hsl(207, 10%, 86%); -} - -nav ul ul a, -nav ul ul a:active { - padding-left: 20px -} - -nav h2 { - font-size: 13px; - margin: 10px 0 0 0; - padding: 0; -} - -nav > h2 > a { - margin: 10px 0 -10px; - color: #606 !important; -} - -footer { - color: hsl(0, 0%, 28%); - margin-left: 250px; - display: block; - padding: 15px; - font-style: italic; - font-size: 90%; -} - -.ancestors { - color: #999 -} - -.ancestors a { - color: #999 !important; -} - -.clear { - clear: both -} - -.important { - font-weight: bold; - color: #950B02; -} - -.yes-def { - text-indent: -1000px -} - -.type-signature { - color: #CA79CA -} - -.type-signature:last-child { - color: #eee; -} - -.name, .signature { - font-family: Consolas, Monaco, 'Andale Mono', monospace -} - -.signature { - color: #fc83ff; -} - -.details { - margin-top: 6px; - border-left: 2px solid #DDD; - line-height: 20px; - font-size: 14px; -} - -.details dt { - width: auto; - float: left; - padding-left: 10px; -} - -.details dd { - margin-left: 70px; - margin-top: 6px; - margin-bottom: 6px; -} - -.details ul { - margin: 0 -} - -.details ul { - list-style-type: none -} - -.details pre.prettyprint { - margin: 0 -} - -.details .object-value { - padding-top: 0 -} - -.description { - margin-bottom: 1em; - margin-top: 1em; -} - -.code-caption { - font-style: italic; - font-size: 107%; - margin: 0; -} - -.prettyprint { - font-size: 14px; - overflow: auto; -} - -.prettyprint.source { - width: inherit; - line-height: 18px; - display: block; - background-color: #0d152a; - color: #aeaeae; -} - -.prettyprint code { - line-height: 18px; - display: block; - background-color: #0d152a; - color: #4D4E53; -} - -.prettyprint > code { - padding: 15px; -} - -.prettyprint .linenums code { - padding: 0 15px -} - -.prettyprint .linenums li:first-of-type code { - padding-top: 15px -} - -.prettyprint code span.line { - display: inline-block -} - -.prettyprint.linenums { - padding-left: 70px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.prettyprint.linenums ol { - padding-left: 0 -} - -.prettyprint.linenums li { - border-left: 3px #34446B solid; -} - -.prettyprint.linenums li.selected, .prettyprint.linenums li.selected * { - background-color: #34446B; -} - -.prettyprint.linenums li * { - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; -} - -.prettyprint.linenums li code:empty:after { - content:""; - display:inline-block; - width:0px; -} - -table { - border-spacing: 0; - border: 1px solid #ddd; - border-collapse: collapse; - border-radius: 3px; - box-shadow: 0 1px 3px rgba(0,0,0,0.1); - width: 100%; - font-size: 14px; - margin: 1em 0; -} - -td, th { - margin: 0px; - text-align: left; - vertical-align: top; - padding: 10px; - display: table-cell; -} - -thead tr, thead tr { - background-color: #fff; - font-weight: bold; - border-bottom: 1px solid #ddd; -} - -.params .type { - white-space: nowrap; -} - -.params code { - white-space: pre; -} - -.params td, .params .name, .props .name, .name code { - color: #4D4E53; - font-family: Consolas, Monaco, 'Andale Mono', monospace; - font-size: 100%; -} - -.params td { - border-top: 1px solid #eee -} - -.params td.description > p:first-child, .props td.description > p:first-child { - margin-top: 0; - padding-top: 0; -} - -.params td.description > p:last-child, .props td.description > p:last-child { - margin-bottom: 0; - padding-bottom: 0; -} - -span.param-type, .params td .param-type, .param-type dd { - color: #606; - font-family: Consolas, Monaco, 'Andale Mono', monospace -} - -.param-type dt, .param-type dd { - display: inline-block -} - -.param-type { - margin: 14px 0; -} - -.disabled { - color: #454545 -} - -/* navicon button */ -.navicon-button { - display: none; - position: relative; - padding: 2.0625rem 1.5rem; - transition: 0.25s; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - opacity: .8; -} -.navicon-button .navicon:before, .navicon-button .navicon:after { - transition: 0.25s; -} -.navicon-button:hover { - transition: 0.5s; - opacity: 1; -} -.navicon-button:hover .navicon:before, .navicon-button:hover .navicon:after { - transition: 0.25s; -} -.navicon-button:hover .navicon:before { - top: .825rem; -} -.navicon-button:hover .navicon:after { - top: -.825rem; -} - -/* navicon */ -.navicon { - position: relative; - width: 2.5em; - height: .3125rem; - background: #000; - transition: 0.3s; - border-radius: 2.5rem; -} -.navicon:before, .navicon:after { - display: block; - content: ""; - height: .3125rem; - width: 2.5rem; - background: #000; - position: absolute; - z-index: -1; - transition: 0.3s 0.25s; - border-radius: 1rem; -} -.navicon:before { - top: .625rem; -} -.navicon:after { - top: -.625rem; -} - -/* open */ -.nav-trigger:checked + label:not(.steps) .navicon:before, -.nav-trigger:checked + label:not(.steps) .navicon:after { - top: 0 !important; -} - -.nav-trigger:checked + label .navicon:before, -.nav-trigger:checked + label .navicon:after { - transition: 0.5s; -} - -/* Minus */ -.nav-trigger:checked + label { - -webkit-transform: scale(0.75); - transform: scale(0.75); -} - -/* × and + */ -.nav-trigger:checked + label.plus .navicon, -.nav-trigger:checked + label.x .navicon { - background: transparent; -} - -.nav-trigger:checked + label.plus .navicon:before, -.nav-trigger:checked + label.x .navicon:before { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - background: #FFF; -} - -.nav-trigger:checked + label.plus .navicon:after, -.nav-trigger:checked + label.x .navicon:after { - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - background: #FFF; -} - -.nav-trigger:checked + label.plus { - -webkit-transform: scale(0.75) rotate(45deg); - transform: scale(0.75) rotate(45deg); -} - -.nav-trigger:checked ~ nav { - left: 0 !important; -} - -.nav-trigger:checked ~ .overlay { - display: block; -} - -.nav-trigger { - position: fixed; - top: 0; - clip: rect(0, 0, 0, 0); -} - -.overlay { - display: none; - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - width: 100%; - height: 100%; - background: hsla(0, 0%, 0%, 0.5); - z-index: 1; -} - -/* nav level */ -.level-hide { - display: none; -} -html[data-search-mode] .level-hide { - display: block; -} - - -@media only screen and (max-width: 680px) { - body { - overflow-x: hidden; - } - - nav { - background: #FFF; - width: 250px; - height: 100%; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: -250px; - z-index: 3; - padding: 0 10px; - transition: left 0.2s; - } - - .navicon-button { - display: inline-block; - position: fixed; - top: 1.5em; - right: 0; - z-index: 2; - } - - #main { - width: 100%; - } - - #main h1.page-title { - margin: 1em 0; - } - - #main section { - padding: 0; - } - - footer { - margin-left: 0; - } -} - -/** Add a '#' to static members */ -[data-type="member"] a::before { - content: '#'; - display: inline-block; - margin-left: -14px; - margin-right: 5px; -} - -#disqus_thread{ - margin-left: 30px; -} - -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 400; - src: url('../fonts/Montserrat/Montserrat-Regular.eot'); /* IE9 Compat Modes */ - src: url('../fonts/Montserrat/Montserrat-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/Montserrat/Montserrat-Regular.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/Montserrat/Montserrat-Regular.woff') format('woff'), /* Pretty Modern Browsers */ - url('../fonts/Montserrat/Montserrat-Regular.ttf') format('truetype'); /* Safari, Android, iOS */ -} - -@font-face { - font-family: 'Montserrat'; - font-style: normal; - font-weight: 700; - src: url('../fonts/Montserrat/Montserrat-Bold.eot'); /* IE9 Compat Modes */ - src: url('../fonts/Montserrat/Montserrat-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('../fonts/Montserrat/Montserrat-Bold.woff2') format('woff2'), /* Super Modern Browsers */ - url('../fonts/Montserrat/Montserrat-Bold.woff') format('woff'), /* Pretty Modern Browsers */ - url('../fonts/Montserrat/Montserrat-Bold.ttf') format('truetype'); /* Safari, Android, iOS */ -} - -@font-face { - font-family: 'Source Sans Pro'; - src: url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot'); - src: url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2') format('woff2'), - url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff') format('woff'), - url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf') format('truetype'), - url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg#source_sans_proregular') format('svg'); - font-weight: 400; - font-style: normal; -} - -@font-face { - font-family: 'Source Sans Pro'; - src: url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot'); - src: url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2') format('woff2'), - url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff') format('woff'), - url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf') format('truetype'), - url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg#source_sans_prolight') format('svg'); - font-weight: 300; - font-style: normal; - -} \ No newline at end of file diff --git a/docs/styles/prettify.css b/docs/styles/prettify.css deleted file mode 100644 index d9521ec85..000000000 --- a/docs/styles/prettify.css +++ /dev/null @@ -1,79 +0,0 @@ -.pln { - color: #ddd; -} - -/* string content */ -.str { - color: #61ce3c; -} - -/* a keyword */ -.kwd { - color: #fbde2d; -} - -/* a comment */ -.com { - color: #aeaeae; -} - -/* a type name */ -.typ { - color: #8da6ce; -} - -/* a literal value */ -.lit { - color: #fbde2d; -} - -/* punctuation */ -.pun { - color: #ddd; -} - -/* lisp open bracket */ -.opn { - color: #000000; -} - -/* lisp close bracket */ -.clo { - color: #000000; -} - -/* a markup tag name */ -.tag { - color: #8da6ce; -} - -/* a markup attribute name */ -.atn { - color: #fbde2d; -} - -/* a markup attribute value */ -.atv { - color: #ddd; -} - -/* a declaration */ -.dec { - color: #EF5050; -} - -/* a variable name */ -.var { - color: #c82829; -} - -/* a function name */ -.fun { - color: #4271ae; -} - -/* Specify class=linenums on a pre to get line numbering */ -ol.linenums { - margin-top: 0; - margin-bottom: 0; -} diff --git a/docs/tutorial-dom-based-templating-implementation.html b/docs/tutorial-dom-based-templating-implementation.html new file mode 100644 index 000000000..b6003a3ac --- /dev/null +++ b/docs/tutorial-dom-based-templating-implementation.html @@ -0,0 +1,193 @@ +<!DOCTYPE html> +<html lang="en"> + + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <!-- Adding meta --> + + + <meta name="author" content="schukai GmbH" /> + + <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> + + + + <!-- Adding external script--> + + + <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> + + + + <!-- Adding external style--> + + + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> + + + + <!-- Adding scripts--> + + + <!-- Adding style--> + + + <!-- Adding overlay script--> + + <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" + integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" + crossorigin="anonymous"></script> + + + <!-- Adding overlay style--> + + + + <title> + Tutorial: dom-based-templating-implementation + </title> + + <!--[if lt IE 9]> + <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> + <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> + <link type="text/css" rel="stylesheet" href="styles/reset.css"> + <link type="text/css" rel="stylesheet" href="styles/heading.css"> + <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> + <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> + + <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + style="display:none"> + <defs> + <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> + <g> + <path + d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> + <path + d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> + </g> + </symbol> + <symbol id='search-icon' viewBox="0 0 512 512"> + <g> + <g> + <path + d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> + </g> + </g> + <g> + <g> + <path + d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> + </g> + </g> + </symbol> + <symbol id="down-icon" viewBox="0 0 16 16"> + <path + fill-rule="evenodd" + clip-rule="evenodd" + d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" + > + </path> + </symbol> + </defs> +</svg> + </head> + + <body> + + <nav class="navbar" id="navbar"> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + + <div class="navbar-resize" id="navbar-resize"> + <div class="resize-dots-container"> + <div class="dots"></div> + <div class="dots"></div> + <div class="dots"></div> + </div> + </div> + + + </nav> + <div class="navbar-ham" id="navbar-ham"> + <div> + <div class="first"></div> + <div class="second"></div> + <div class="third"></div> + </div> + </div> + + <div id="main" class="main-content"> + + <h1 id='page-title' class="page-title"> + Tutorial: dom-based-templating-implementation + </h1> + + + <section> + +<header> + + + <h2>dom-based-templating-implementation</h2> +</header> + +<article> + <p>Monster uses a DOM-based template approach. All Monster templates are<br> +valid, parsable HTML that has been extended with some special attributes.</p> +<h2>replace</h2> +<p>The simplest manipulation is to replace the content of a tag.<br> +To do this, simply use the <code>data-monster-replace</code> attribute.</p> +<pre class="prettyprint source"><code><div data-monster-replace="static:hello"></div> +</code></pre> +<p>The result is then the following html:</p> +<pre class="prettyprint source"><code><div data-monster-replace="static:hello">hello</div> +</code></pre> +</article> + +</section> + + </div> + + <footer class="footer" id="footer"> + <a href='https://about.schukai.com/de/impressum/'>Imprint</a> + </footer> + + <script src="scripts/third-party/prettify.js"></script> + <script src="scripts/third-party/lang-css.js"></script> + <script type="text/javascript" src="scripts/misc.js"></script> + + <script>prettyPrint();</script> + <script src="scripts/linenumber.js"></script> + <script src="scripts/fix-code-block.js"></script> + <script src="scripts/fix-navbar.js"></script> + + + + + + <script src="scripts/resize.js"></script> + <script type="text/javascript"> + var option = {"min":"300","max":"600"} + setupResizeOptions(option) + </script> + + + + + + <script type="text/javascript"> + var option = JSON.parse('{"options":{}}') + console.log(option) + document.addEventListener("DOMContentLoaded", function () { + OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); + }); + </script> + + + + </body> + +</html> \ No newline at end of file diff --git a/docs/tutorial-getting-started.html b/docs/tutorial-getting-started.html index cfd74b989..17f37455e 100644 --- a/docs/tutorial-getting-started.html +++ b/docs/tutorial-getting-started.html @@ -99,7 +99,7 @@ <body> <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> <div class="navbar-resize" id="navbar-resize"> <div class="resize-dots-container"> @@ -135,15 +135,14 @@ </header> <article> - <p>Monster can be loaded as a collection of useful functions and classes as a single<br> -javascript file and used via the namespace 'Monster. Alternatively, and if possible,<br> -it is preferable to use the required functions via the module import.</p> -<p>The entire Monster repos can be fetched either via <a href="https://gitlab.schukai.com/oss/libraries/javascript/monster">git</a>.<br> -But the files are also available via <a href="https://www.npmjs.com/package/@schukai/monster">NPM</a><br> -and the CDN <a href="https://www.jsdelivr.com/package/npm/@schukai/monster">jsdelivr</a>.</p> -<p>In the example, an html page is integrated with a simple javascript. We use only the desired function for this.</p> -<p>We use the versions class <code>Version()</code> to create and output a version.</p> -<pre class="prettyprint source lang-@example"><code><!DOCTYPE html> + <p>You'll need basic HTML, CSS, and JavaScript skills for Monster. If you're just +starting out with frontend development, you should have a good beginner's +guide open alongside this one.</p> +<p>You can also post your questions on <a href="https://stackoverflow.com/questions/ask?tags=javascript,monster">Stack Overflow</a>.</p> +<p>To get started with Monster, all you need is a text editor and a browser. +The best way is to copy the following example into a file and save it as +index.html.</p> +<pre class="prettyprint source"><code><!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> @@ -151,35 +150,50 @@ and the CDN <a href="https://www.jsdelivr.com/package/npm/@schukai/monster">jsde </head> <body> +<div>your version is + <spay id="version"></spay> +</div> + <script type="module"> - import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; - console.log(new Version('1.0.0')) // ↦ 1.0.0 + import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + document.getElementById('version').innerText = new Version('1.0.0').toString(); </script> </body> </html> </code></pre> -<p>Important here is the attribute <code>type</code> of the script tag. This must be specified and have the value <code>module</code>.</p> -<p>If you do not have the possibility to work with modules or if you use a lot from Monster, you can go the<br> -classic way via the integration of the entire collection.</p> +<p>Now open this file with your browser.</p> +<p>What did you do? you used the class 'Version' of monster and created a Version object. They then output this in a span.</p> +<p><strong>Voila!</strong></p> +<p>As seen above in the version example, each monster class or function can be used independently. +Alternatively, Monster can be used as a collection of many useful classes and functions via +the <code>Monster</code> namespace as a single javascript file.</p> <pre class="prettyprint source"><code><!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>awaken the monster in you!</title> - <script src="https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/monster.js"></script> + <script src="https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/monster.js"></script> </head> <body> +<div>your version is + <spay id="version"></spay> +</div> + <script> - console.log(new Monster.Types.Version('1.0.0')) // ↦ 1.0.0 + document.getElementById('version').innerText = new Monster.Types.Version('1.0.0').toString(); </script> </body> </html> </code></pre> -<p>Voila!</p> +<p>Besides the CDN <a href="https://www.jsdelivr.com/package/npm/@schukai/monster">jsdelivr</a>,<br> +Monster can also be obtained via <a href="https://www.npmjs.com/package/@schukai/monster">NPM</a><br> +or the <a href="https://gitlab.schukai.com/oss/libraries/javascript/monster">git repos</a>.</p> +<p>Monster itself has no dependencies and does not dictate anything to you,<br> +you can use Monster with Bootstrap, jQuery or other cool frameworks.</p> </article> </section> diff --git a/docs/tutorial-tutorial.html b/docs/tutorial-tutorial.html new file mode 100644 index 000000000..6a93c46c0 --- /dev/null +++ b/docs/tutorial-tutorial.html @@ -0,0 +1,194 @@ +<!DOCTYPE html> +<html lang="en"> + + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <!-- Adding meta --> + + + <meta name="author" content="schukai GmbH" /> + + <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> + + + + <!-- Adding external script--> + + + <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> + + + + <!-- Adding external style--> + + + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> + + + + <!-- Adding scripts--> + + + <!-- Adding style--> + + + <!-- Adding overlay script--> + + <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" + integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" + crossorigin="anonymous"></script> + + + <!-- Adding overlay style--> + + + + <title> + Tutorial: Monster - Build fantastic websites! + </title> + + <!--[if lt IE 9]> + <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> + <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> + <link type="text/css" rel="stylesheet" href="styles/reset.css"> + <link type="text/css" rel="stylesheet" href="styles/heading.css"> + <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> + <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> + + <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + style="display:none"> + <defs> + <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> + <g> + <path + d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> + <path + d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> + </g> + </symbol> + <symbol id='search-icon' viewBox="0 0 512 512"> + <g> + <g> + <path + d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> + </g> + </g> + <g> + <g> + <path + d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> + </g> + </g> + </symbol> + <symbol id="down-icon" viewBox="0 0 16 16"> + <path + fill-rule="evenodd" + clip-rule="evenodd" + d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" + > + </path> + </symbol> + </defs> +</svg> + </head> + + <body> + + <nav class="navbar" id="navbar"> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + + <div class="navbar-resize" id="navbar-resize"> + <div class="resize-dots-container"> + <div class="dots"></div> + <div class="dots"></div> + <div class="dots"></div> + </div> + </div> + + + </nav> + <div class="navbar-ham" id="navbar-ham"> + <div> + <div class="first"></div> + <div class="second"></div> + <div class="third"></div> + </div> + </div> + + <div id="main" class="main-content"> + + <h1 id='page-title' class="page-title"> + Tutorial: Monster - Build fantastic websites! + </h1> + + + <section> + +<header> + + <ul> + <li><a href="tutorial-what-is-monster.html">What is Monster?</a></li> + + <li><a href="tutorial-getting-started.html">Getting Started</a></li> + </ul> + + + <h2>Monster - Build fantastic websites!</h2> +</header> + +<article> + <p>Monster is a lightweight, robust and easy-to-use library with modest ambitions.<br> +Monster integrates easily with your existing websites without taking over everything.</p> +<p>Here's (<a href="tutorial-what-is-monster.html">What is Monster?</a>) what Monster is all about. In section <a href="tutorial-getting-started.html">Getting Started</a><br> +you can read how to integrate Monster into your own web projects.</p> +<p>Monster has a free license and therefore you are free to customize Monster to your needs.</p> +</article> + +</section> + + </div> + + <footer class="footer" id="footer"> + <a href='https://about.schukai.com/de/impressum/'>Imprint</a> + </footer> + + <script src="scripts/third-party/prettify.js"></script> + <script src="scripts/third-party/lang-css.js"></script> + <script type="text/javascript" src="scripts/misc.js"></script> + + <script>prettyPrint();</script> + <script src="scripts/linenumber.js"></script> + <script src="scripts/fix-code-block.js"></script> + <script src="scripts/fix-navbar.js"></script> + + + + + + <script src="scripts/resize.js"></script> + <script type="text/javascript"> + var option = {"min":"300","max":"600"} + setupResizeOptions(option) + </script> + + + + + + <script type="text/javascript"> + var option = JSON.parse('{"options":{}}') + console.log(option) + document.addEventListener("DOMContentLoaded", function () { + OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); + }); + </script> + + + + </body> + +</html> \ No newline at end of file diff --git a/docs/tutorial-what-is-monster.html b/docs/tutorial-what-is-monster.html new file mode 100644 index 000000000..b966ab480 --- /dev/null +++ b/docs/tutorial-what-is-monster.html @@ -0,0 +1,195 @@ +<!DOCTYPE html> +<html lang="en"> + + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <!-- Adding meta --> + + + <meta name="author" content="schukai GmbH" /> + + <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> + + + + <!-- Adding external script--> + + + <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> + + + + <!-- Adding external style--> + + + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> + + + + <!-- Adding scripts--> + + + <!-- Adding style--> + + + <!-- Adding overlay script--> + + <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" + integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" + crossorigin="anonymous"></script> + + + <!-- Adding overlay style--> + + + + <title> + Tutorial: What is Monster? + </title> + + <!--[if lt IE 9]> + <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> + <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> + <link type="text/css" rel="stylesheet" href="styles/reset.css"> + <link type="text/css" rel="stylesheet" href="styles/heading.css"> + <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> + <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> + + <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + style="display:none"> + <defs> + <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> + <g> + <path + d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> + <path + d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> + </g> + </symbol> + <symbol id='search-icon' viewBox="0 0 512 512"> + <g> + <g> + <path + d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> + </g> + </g> + <g> + <g> + <path + d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> + </g> + </g> + </symbol> + <symbol id="down-icon" viewBox="0 0 16 16"> + <path + fill-rule="evenodd" + clip-rule="evenodd" + d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" + > + </path> + </symbol> + </defs> +</svg> + </head> + + <body> + + <nav class="navbar" id="navbar"> + <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div> + + <div class="navbar-resize" id="navbar-resize"> + <div class="resize-dots-container"> + <div class="dots"></div> + <div class="dots"></div> + <div class="dots"></div> + </div> + </div> + + + </nav> + <div class="navbar-ham" id="navbar-ham"> + <div> + <div class="first"></div> + <div class="second"></div> + <div class="third"></div> + </div> + </div> + + <div id="main" class="main-content"> + + <h1 id='page-title' class="page-title"> + Tutorial: What is Monster? + </h1> + + + <section> + +<header> + + + <h2>What is Monster?</h2> +</header> + +<article> + <p>Monster is a collection of functions and classes that can help in the daily work<br> +with Javascript to get faster to the goal. Monster does not require you to be the<br> +only library, nor does it require you to use only Monster.</p> +<p>Monster itself has no dependencies and works perfectly with other frameworks<br> +like jQuery or Bootstrap.</p> +<p><strong>The design goals of Monster's core library are:</strong></p> +<ul> +<li>Easy integration with existing user interfaces.</li> +<li>Robust interfaces</li> +<li>Tested code and good code coverage.</li> +<li>No dependencies on other libraries</li> +</ul> +</article> + +</section> + + </div> + + <footer class="footer" id="footer"> + <a href='https://about.schukai.com/de/impressum/'>Imprint</a> + </footer> + + <script src="scripts/third-party/prettify.js"></script> + <script src="scripts/third-party/lang-css.js"></script> + <script type="text/javascript" src="scripts/misc.js"></script> + + <script>prettyPrint();</script> + <script src="scripts/linenumber.js"></script> + <script src="scripts/fix-code-block.js"></script> + <script src="scripts/fix-navbar.js"></script> + + + + + + <script src="scripts/resize.js"></script> + <script type="text/javascript"> + var option = {"min":"300","max":"600"} + setupResizeOptions(option) + </script> + + + + + + <script type="text/javascript"> + var option = JSON.parse('{"options":{}}') + console.log(option) + document.addEventListener("DOMContentLoaded", function () { + OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); + }); + </script> + + + + </body> + +</html> \ No newline at end of file diff --git a/docs/types_base.js.html b/docs/types_base.js.html deleted file mode 100644 index 2b78666b5..000000000 --- a/docs/types_base.js.html +++ /dev/null @@ -1,237 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/base.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/base.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; - - -/** - * This is the base class from which all monster classes are derived. - * - * you can call the method via the monster namespace `new Monster.Types.Base()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js'; - * console.log(new Monster.Types.Base()) - * console.log(new Monster.Types.Base()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js'; - * console.log(new Base()) - * console.log(new Base()) - * </script> - * ``` - * - * the class was formerly called Object. - * - * @since 1.5.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -class Base extends Object { - - /** - * - * @returns {string} - */ - toString() { - return JSON.stringify(this); - }; - - -} - -Monster.assignToNamespace('Monster.Types', Base); -export {Monster, Base} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_global.js.html b/docs/types_global.js.html deleted file mode 100644 index 069817882..000000000 --- a/docs/types_global.js.html +++ /dev/null @@ -1,312 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/global.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/global.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {validateFunction, validateString, validateObject} from "./validate.js"; - -/** - * @type {objec} - * @private - */ -var globalReference; - -/** - * @private - */ -(function () { - if (typeof globalThis === 'object') { - globalReference = globalThis; - return; - } - - Object.defineProperty(Object.prototype, '__monster__', { - get: function () { - return this; - }, - configurable: true - }); - - __monster__.globalThis = __monster__; - delete Object.prototype.__monster__; - - globalReference = globalThis; - -}()); - -/** - * return globalThis - * - * if globalThis is not available, it will be polyfilled - * - * @since 1.6.0 - * @memberOf Monster/Types - * @returns {objec} globalThis - */ -function getGlobal() { - return globalReference; -} - -/** - * return global object or throw Error - * - * you can call the method via the monster namespace `Monster.Types.getGlobalObject()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; - * console.log(Monster.Types.getGlobalObject('document')) // ↦ { } - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; - * console.log(getGlobalObject('document')) // ↦ { } - * </script> - * ``` - * - * @since 1.6.0 - * @memberOf Monster/Types - * @param {string} name - * @returns {objec} - * @throws {Error} the object is not defined - * @throws {TypeError} value is not a object - * @throws {TypeError} value is not a string - */ -function getGlobalObject(name) { - validateString(name); - let o = globalReference?.[name]; - if (typeof o === 'undefined') throw new Error('the object '+name+' is not defined'); - validateObject(o); - return o; -} - -/** - * return global function or throw Error - * - * you can call the method via the monster namespace `Monster.Types.getGlobalFunction()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; - * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { } - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; - * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { } - * </script> - * ``` - * - * @since 1.6.0 - * @memberOf Monster/Types - * @param {string} name - * @returns {objec} - * @throws {TypeError} value is not a function - * @throws {Error} the function is not defined - * @throws {TypeError} value is not a string - */ -function getGlobalFunction(name) { - validateString(name); - let f = globalReference?.[name]; - if (typeof f === 'undefined') throw new Error('the function '+name+' is not defined'); - validateFunction(f); - return f; -} - - -Monster.assignToNamespace('Monster.Types', getGlobal, getGlobalObject, getGlobalFunction); -export {Monster, getGlobal, getGlobalObject, getGlobalFunction} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_id.js.html b/docs/types_id.js.html deleted file mode 100644 index 728add85f..000000000 --- a/docs/types_id.js.html +++ /dev/null @@ -1,265 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/id.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/id.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, Base} from './base.js'; -import {validateString} from "./validate.js"; - -/** - * @private - * @type {Map<string, integer>} - */ -let internalCounter = new Map; - -/** - * with the id class, sequences of ids can be created. for this purpose, an internal counter is incremented for each prefix. - * thus, the first id with the prefix `myid` will be `myid1` and the second id `myid2`. - * The ids are the same for every call, for example on a web page. - * - * so the ids can also be used for navigation. you just have to take care that the order stays the same. - * - * you can call the method via the monster namespace `new Monster.Types.ID()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; - * console.log(new Monster.Types.ID()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; - * console.log(new ID()) - * </script> - * ``` - * - * as of version 1.6.0 there is the new RandomID. this ID class is continuous from now on. - * - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -class ID extends Base { - - /** - * create new object - */ - constructor(prefix) { - super(); - - if (prefix === undefined) { - prefix = "id"; - } - - validateString(prefix); - - if (!internalCounter.has(prefix)) { - internalCounter.set(prefix, 1); - } - - let count = internalCounter.get(prefix); - this.id = prefix + count; - - internalCounter.set(prefix, ++count); - } - - /** - * @return {string} - */ - toString() { - return this.id; - } - -} - -Monster.assignToNamespace('Monster.Types', ID); -export {Monster, ID} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_is.js.html b/docs/types_is.js.html deleted file mode 100644 index 9f1485b1c..000000000 --- a/docs/types_is.js.html +++ /dev/null @@ -1,550 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/is.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/is.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; - -/** - * with this function you can check if a value is iterable - * - * you can call the method via the monster namespace `Monster.Types.isPrimitive()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(Monster.Types.isIterable(null)) // ↦ false - * console.log(Monster.Types.isIterable('hello')) // ↦ true - * console.log(Monster.Types.isIterable([])) // ↦ true - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(isIterable(null)) // ↦ false - * console.log(isIterable('hello')) // ↦ true - * console.log(isIterable([])) // ↦ true - * </script> - * ``` - * - * @param {*} value - * @returns {boolean} - * @since 1.2.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -function isIterable(value) { - if (value === undefined) return false; - if (value === null) return false; - return typeof value?.[Symbol.iterator] === 'function'; -} - - -/** - * checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol) - * - * you can call the method via the monster namespace `Monster.Types.isPrimitive()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(Monster.Types.isPrimitive('2')) // ↦ false - * console.log(Monster.Types.isPrimitive([])) // ↦ true - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(isPrimitive('2')) // ↦ true - * console.log(isPrimitive([])) // ↦ false - * </script> - * ``` - * - * @param {*} value - * @returns {boolean} - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -function isPrimitive(value) { - var type; - - if (value === undefined || value === null || value === NaN) { - return true; - } - - type = typeof value; - - if (type === 'string' || type === 'number' || type === 'boolean' || type === 'symbol') { - return true; - } - - return false; -} - -/** - * checks whether the value passed is a boolean - * - * you can call the method via the monster namespace `Monster.Types.isBoolean()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(Monster.Types.isBoolean('2')) // ↦ false - * console.log(Monster.Types.isBoolean([])) // ↦ false - * console.log(Monster.Types.isBoolean(true)) // ↦ true - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(isBoolean('2')) // ↦ false - * console.log(isBoolean([])) // ↦ false - * console.log(isBoolean(2>4)) // ↦ true - * </script> - * ``` - * - * @param {*} value - * @returns {boolean} - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -function isBoolean(value) { - - if (value === true || value === false) { - return true; - } - - return false; -} - -/** - * checks whether the value passed is a string - * - * you can call the method via the monster namespace `Monster.Types.isString()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(Monster.Types.isString('2')) // ↦ true - * console.log(Monster.Types.isString([])) // ↦ false - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(isString('2')) // ↦ true - * console.log(isString([])) // ↦ false - * </script> - * ``` - * - * @param {*} value - * @returns {boolean} - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -function isString(value) { - if (value === undefined || typeof value !== 'string') { - return false; - } - return true; -} - -/** - * checks whether the value passed is a object - * - * you can call the method via the monster namespace `Monster.Types.isObject()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(Monster.Types.isObject('2')) // ↦ false - * console.log(Monster.Types.isObject([])) // ↦ false - * console.log(Monster.Types.isObject({})) // ↦ true - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(isObject('2')) // ↦ false - * console.log(isObject([])) // ↦ false - * </script> - * ``` - * - * @param {*} value - * @returns {boolean} - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -function isObject(value) { - - if (isArray(value)) return false; - if (isPrimitive(value)) return false; - - if (typeof value === 'object') { - return true; - } - - return false; -} - -/** - * checks whether the value passed is a object and instance of instance - * - * you can call the method via the monster namespace `Monster.Types.isInstance()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(Monster.Types.isInstance('2')) // ↦ false - * console.log(Monster.Types.isInstance([])) // ↦ false - * console.log(Monster.Types.isInstance({})) // ↦ true - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(isInstance('2')) // ↦ false - * console.log(isInstance([])) // ↦ false - * </script> - * ``` - * - * @param {*} value - * @param {*} instance - * @returns {boolean} - * @since 1.5.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -function isInstance(value, instance) { - - if (!isObject(value)) return false; - if (!isFunction(instance)) return false; - if (!instance.hasOwnProperty('prototype')) return false; - return (value instanceof instance)?true:false; - -} - -/** - * checks whether the value passed is a array - * - * you can call the method via the monster namespace `Monster.Types.isArray()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(Monster.Types.isArray('2')) // ↦ false - * console.log(Monster.Types.isArray([])) // ↦ true - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(isArray('2')) // ↦ false - * console.log(isArray([])) // ↦ true - * </script> - * ``` - * - * @param {*} value - * @returns {boolean} - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -function isArray(value) { - if (Array.isArray(value)) { - return true; - } - return false; -} - -/** - * checks whether the value passed is a function - * - * you can call the method via the monster namespace `Monster.Types.isFunction()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(Monster.Types.isFunction(()=>{})) // ↦ true - * console.log(Monster.Types.isFunction('2')) // ↦ false - * console.log(Monster.Types.isFunction([])) // ↦ false - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(isFunction(()=>{})) // ↦ true - * console.log(isFunction('2')) // ↦ false - * console.log(isFunction([])) // ↦ false - * </script> - * ``` - * - * @param {*} value - * @returns {boolean} - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -function isFunction(value) { - if (isArray(value)) return false; - if (isPrimitive(value)) return false; - - if (typeof value === 'function') { - return true; - } - - return false; - -} - -/** - * checks whether the value passed is an integer - * - * you can call the method via the monster namespace `Monster.Types.isFunction()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(Monster.Types.isInteger(()=>{})) // ↦ true - * console.log(Monster.Types.isInteger('2')) // ↦ false - * console.log(Monster.Types.isInteger(2)) // ↦ true - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * console.log(isInteger(()=>{})) // ↦ true - * console.log(isInteger('2')) // ↦ false - * console.log(isInteger(2)) // ↦ true - * </script> - * ``` - * - * @param {*} value - * @returns {boolean} - * @since 1.4.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -function isInteger(value) { - return Number.isInteger(value); -} - - -Monster.assignToNamespace('Monster.Types', isPrimitive, isBoolean, isString, isObject, isArray, isFunction, isIterable, isInteger); -export {Monster, isPrimitive, isBoolean, isString, isObject, isInstance, isArray, isFunction, isIterable, isInteger} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_namespace.js.html b/docs/types_namespace.js.html deleted file mode 100644 index 134dee9f0..000000000 --- a/docs/types_namespace.js.html +++ /dev/null @@ -1,196 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/namespace.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/namespace.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @namespace Monster/Types - * @author schukai GmbH - */ - - -/** - * @private - * @type {string} - */ -const namespace="Monster.Types";</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_observer.js.html b/docs/types_observer.js.html deleted file mode 100644 index 2bf1179c5..000000000 --- a/docs/types_observer.js.html +++ /dev/null @@ -1,353 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/observer.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/observer.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {TokenList} from './tokenlist.js'; -import {isObject} from './is.js'; -import {Base} from './base.js'; -import {UniqueQueue} from './uniquequeue.js'; - -/** - * an observer manages a callback function - * - * you can call the method via the monster namespace `new Monster.Types.Observer()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; - * console.log(new Monster.Types.Observer()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; - * console.log(Observer()) - * </script> - * ``` - * - * the update method is called with the subject object as this pointer. for this reason the callback should not - * be an arrow function, because it gets the this pointer of its own context. - * - * ``` - * <script> - * Observer(()=>{ - * // this is not subject - * }) - * - * Observer(function() { - * // this is subject - * }) - * </script> - * ``` - * - * additional arguments can be passed to the callback. to do this, simply specify them. - * - * ``` - * <script> - * Observer(function(a, b, c) { - * console.log(a, b, c); // ↦ "a", 2, true - * }, "a", 2, true) - * </script> - * ``` - * - * the callback function must have as many parameters as arguments are given. - * - * - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -class Observer extends Base { - - /** - * - * @param {function} callback - * @param {*} args - */ - constructor(callback, ...args) { - super(); - - if (typeof callback !== 'function') { - throw new Error("observer callback must be a function") - } - - this.callback = callback; - this.arguments = args; - this.tags = new TokenList; - this.queue = new UniqueQueue(); - } - - /** - * - * @param {string} tag - * @returns {Observer} - */ - addTag(tag) { - this.tags.add(tag); - return this; - } - - /** - * - * @param {string} tag - * @returns {Observer} - */ - removeTag(tag) { - this.tags.remove(tag); - return this; - } - - /** - * - * @returns {Array} - */ - getTags() { - return this.tags.entries() - } - - /** - * - * @param {string} tag - * @returns {boolean} - */ - hasTag(tag) { - return this.tags.contains(tag) - } - - /** - * - * @param {object} subject - * @returns {Promise} - */ - update(subject) { - let self = this; - - return new Promise(function (resolve, reject) { - if (!isObject(subject)) { - reject("subject must be an object"); - return; - } - - self.queue.add(subject); - - setTimeout(() => { - - // the queue and the settimeout ensure that an object is not - // informed of the same change more than once. - if (self.queue.isEmpty()) { - resolve(); - return; - } - - let s = self.queue.poll(); - let result = self.callback.apply(s, self.arguments); - - if (isObject(result) && result instanceof Promise) { - result.then(resolve).catch(reject); - return; - } - - resolve(result); - }, 0) - - }); - - }; - -} - -Monster.assignToNamespace('Monster.Types', Observer); -export {Monster, Observer} - - - -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_observerlist.js.html b/docs/types_observerlist.js.html deleted file mode 100644 index cc9d4c56f..000000000 --- a/docs/types_observerlist.js.html +++ /dev/null @@ -1,302 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/observerlist.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/observerlist.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {Base} from './base.js'; -import {Observer} from "./observer.js"; -import {validateInstance} from "./validate.js"; - -/** - * With the help of the ObserverList class, observer can be managed. - * - * you can call the method via the monster namespace `new Monster.Types.ObserverList()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js'; - * console.log(new Monster.Types.ObserverList()) - * console.log(new Monster.Types.ObserverList()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js'; - * console.log(ObserverList()) - * console.log(ObserverList()) - * </script> - * ``` - * - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -class ObserverList extends Base { - - /** - * - */ - constructor() { - super(); - this.observers = []; - } - - /** - * - * @param {Observer} observer - * @return {ObserverList} - * @throws {TypeError} value is not an instance of Observer - */ - attach(observer) { - validateInstance(observer, Observer) - - this.observers.push(observer); - return this; - }; - - /** - * - * @param {Observer} observer - * @return {ObserverList} - * @throws {TypeError} value is not an instance of Observer - */ - detach(observer) { - validateInstance(observer, Observer) - - var i = 0, l = this.observers.length; - for (; i < l; i++) { - if (this.observers[i] === observer) { - this.observers.splice(i, 1); - } - } - - return this; - }; - - /** - * - * @param {Observer} observer - * @return {boolean} - * @throws {TypeError} value is not an instance of Observer - */ - contains(observer) { - validateInstance(observer, Observer) - var i = 0, l = this.observers.length; - for (; i < l; i++) { - if (this.observers[i] === observer) { - return true; - } - } - return false; - }; - - /** - * - * @param subject - * @return {Promise} - */ - notify(subject) { - - let pomises = [] - - var i = 0, l = this.observers.length; - for (; i < l; i++) { - pomises.push(this.observers[i].update(subject)); - } - - return Promise.all(pomises); - }; - -} - -Monster.assignToNamespace('Monster.Types', ObserverList); -export {Monster, ObserverList} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_proxyobserver.js.html b/docs/types_proxyobserver.js.html deleted file mode 100644 index 155bd968d..000000000 --- a/docs/types_proxyobserver.js.html +++ /dev/null @@ -1,433 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/proxyobserver.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/proxyobserver.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {Base} from './base.js'; -import {validateObject} from "./validate.js"; -import {ObserverList} from "./observerlist.js"; -import {Observer} from "./observer.js"; -import {isObject, isArray, isPrimitive} from "./is.js"; - -/** - * an observer manages a callback function - * - * you can call the method via the monster namespace `new Monster.Types.ProxyObserver()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; - * console.log(new Monster.Types.ProxyObserver()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; - * console.log(new ProxyObserver()) - * </script> - * ``` - * - * with the ProxyObserver you can attach observer for observation. with each change at the object to be observed an update takes place. - * - * this also applies to nested objects. - * - * @example - * - * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; - * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; - * - * const o = new Observer(function () { - * if (isObject(this) && this instanceof ProxyObserver) { - * // do something (this ist ProxyObserver) - * const subject = this.getSubject(); - * console.log(subject); - * } - * }); - * - * let realSubject = { - * a: { - * b: { - * c: true - * }, - * d: 9 - * } - * } - * - * const p = new ProxyObserver(realSubject); - * p.attachObserver(o); - * const s = p.getSubject(); - * s.a.b.c = false; - * - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -class ProxyObserver extends Base { - - /** - * - * @param {object} object - * @throws {TypeError} value is not a object - */ - constructor(object) { - super(); - validateObject(object); - this.realSubject = object - this.subject = new Proxy(object, getHandler.call(this)); - - this.objectMap = new WeakMap(); - this.objectMap.set(this.realSubject, this.subject); - - this.observers = new ObserverList; - } - - /** - * get the real object - * - * changes to this object are not noticed by the observers, so you can make a large number of changes and inform the observers later. - * - * @returns {object} - */ - getSubject() { - return this.subject - } - - /** - * get the proxied object - * - * @returns {object} - */ - getRealSubject() { - return this.realSubject - } - - /** - * attach a new observer - * - * @param {Observer} observer - * @returns {ProxyObserver} - */ - attachObserver(observer) { - this.observers.attach(observer) - return this; - } - - /** - * detach a observer - * - * @param {Observer} observer - * @returns {ProxyObserver} - */ - detachObserver(observer) { - this.observers.detach(observer) - return this; - } - - /** - * notify all observer - * - * @returns {ProxyObserver} - */ - notifyObservers() { - this.observers.notify(this); - return this; - } - - /** - * @param {Observer} observer - * @returns {ProxyObserver} - */ - containsObserver(observer) { - return this.observers.contains(observer) - } - -} - -Monster.assignToNamespace('Monster.Types', ProxyObserver); -export {Monster, ProxyObserver} - -/** - * - * @returns {{defineProperty: (function(*=, *=, *=): *), setPrototypeOf: (function(*, *=): boolean), set: (function(*, *, *, *): boolean), get: ((function(*=, *=, *=): (undefined))|*), deleteProperty: ((function(*, *): (boolean))|*)}} - * @private - * @see {@link https://gitlab.schukai.com/-/snippets/49} - */ -function getHandler() { - - const proxy = this; - - // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots - const handler = { - - // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver - get: function (target, key, receiver) { - - const value = Reflect.get(target, key, receiver); - - if (typeof key === "symbol") { - return value; - } - - if (isPrimitive(value)) { - return value; - } - - // set value as proxy if object or array - if ((isArray(value) || isObject(value))) { - if (proxy.objectMap.has(value)) { - return proxy.objectMap.get(value); - } else { - let p = new Proxy(value, handler); - proxy.objectMap.set(value, p); - return p; - } - - } - - return value; - - }, - - // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver - set: function (target, key, value, receiver) { - const result = Reflect.set(target, key, value, receiver); - if (typeof property !== "symbol") { - proxy.observers.notify(proxy); - } - - return result; - }, - - // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-delete-p - deleteProperty: function (target, key) { - if (key in target) { - delete target[key]; - - if (typeof key !== "symbol") { - proxy.observers.notify(proxy); - } - - - return true; - } - return false; - }, - - // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc - defineProperty: function (target, key, descriptor) { - let result = Reflect.defineProperty(target, key, descriptor); - - if (typeof key !== "symbol") { - proxy.observers.notify(proxy); - } - - - return result; - }, - - // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v - setPrototypeOf: function (target, key) { - let result = Reflect.setPrototypeOf(object1, key); - - if (typeof key !== "symbol") { - proxy.observers.notify(proxy); - } - - return result; - } - - }; - - - return handler; -} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_queue.js.html b/docs/types_queue.js.html deleted file mode 100644 index 699cd5409..000000000 --- a/docs/types_queue.js.html +++ /dev/null @@ -1,279 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/queue.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/queue.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>import {Monster, Base} from './base.js'; - -/** - * you can call the method via the monster namespace `new Monster.Types.Queue()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; - * console.log(new Monster.Types.Queue()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; - * console.log(new Queue()) - * </script> - * ``` - * - * @since 1.4.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -class Queue extends Base { - - /** - * - */ - constructor() { - super(); - this.data = []; - } - - - /** - * @return {boolean} - */ - isEmpty() { - return this.data.length === 0; - } - - /** - * Read the element at the front of the queue without removing it. - * - * @return {*} - */ - peek() { - if (this.isEmpty()) { - return undefined; - } - - return this.data[0]; - } - - /** - * Add a new element to the end of the queue. - * - * @param {*} value - * @returns {Queue} - */ - add(value) { - this.data.push(value) - return this; - } - - /** - * remove all entries - * - * @returns {Queue} - */ - clear() { - this.data = []; - return this; - } - - /** - * Remove the element at the front of the queue - * If the queue is empty, return undefined. - * - * @return {*} - */ - poll() { - if (this.isEmpty()) { - return undefined; - } - return this.data.shift(); - } - - -} - -Monster.assignToNamespace('Monster.Types', Queue); -export {Monster, Queue} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_randomid.js.html b/docs/types_randomid.js.html deleted file mode 100644 index 81705b30a..000000000 --- a/docs/types_randomid.js.html +++ /dev/null @@ -1,243 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/randomid.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/randomid.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, ID} from "./id.js"; -import {getGlobal} from "./global.js"; -import {random} from "../math/random.js"; - -/** - * @private - * @type {number} - */ -let internalCounter = 0; - -/** - * you can call the method via the monster namespace `new Monster.Types.RandomID()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js'; - * console.log(new Monster.Types.RandomID()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js'; - * console.log(new RandomID()) - * </script> - * ``` - * - * @since 1.6.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -class RandomID extends ID { - - /** - * create new object - */ - constructor() { - super(); - - internalCounter += 1; - - this.id = getGlobal().btoa(random(1, 10000)) - .replace(/=/g, '') - /** No numbers at the beginning of the ID, because of possible problems with DOM */ - .replace(/^[0-9]+/, 'X') + internalCounter; - } - -} - -Monster.assignToNamespace('Monster.Types', RandomID); -export {Monster, RandomID} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_stack.js.html b/docs/types_stack.js.html deleted file mode 100644 index 7a8251950..000000000 --- a/docs/types_stack.js.html +++ /dev/null @@ -1,280 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/stack.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/stack.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>import {Monster, Base} from './base.js'; - -/** - * you can call the method via the monster namespace `new Monster.Types.Queue()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js'; - * console.log(new Monster.Types.Stack()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js'; - * console.log(new Stack()) - * </script> - * ``` - * - * @since 1.4.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -class Stack extends Base { - - /** - * - */ - constructor() { - super(); - this.data = []; - } - - - /** - * @return {boolean} - */ - isEmpty() { - return this.data.length === 0; - } - - /** - * looks at the object at the top of this stack without removing it from the stack. - * - * @return {*} - */ - peek() { - if (this.isEmpty()) { - return undefined; - } - - return this.data?.[this.data.length - 1]; - } - - /** - * pushes an item onto the top of this stack. - * - * @param {*} value - * @returns {Queue} - */ - push(value) { - this.data.push(value) - return this; - } - - /** - * remove all entries - * - * @returns {Queue} - */ - clear() { - this.data = []; - return this; - } - - /** - * removes the object at the top of this stack and returns - * that object as the value of this function. is the stack empty - * the return value is undefined. - * - * @return {*} - */ - pop() { - if (this.isEmpty()) { - return undefined; - } - return this.data.pop(); - } - - -} - -Monster.assignToNamespace('Monster.Types', Stack); -export {Monster, Stack} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_tokenlist.js.html b/docs/types_tokenlist.js.html deleted file mode 100644 index dd20a411c..000000000 --- a/docs/types_tokenlist.js.html +++ /dev/null @@ -1,500 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/tokenlist.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/tokenlist.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {Base} from './base.js'; -import {isString, isIterable} from '../types/is.js'; -import {validateString, validateFunction} from '../types/validate.js'; - -/** - * A tokenlist allows you to manage tokens (individual character strings such as css classes in an attribute string). - * - * The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list. - * - * you can call the method via the monster namespace `new Monster.Types.TokenList()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js'; - * console.log(new Monster.Types.TokenList("myclass row")) - * console.log(new Monster.Types.TokenList("myclass row")) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js'; - * console.log(new TokenList("myclass row")) - * console.log(new TokenList("myclass row")) - * </script> - * ``` - * - * This class implements the [iteration protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). - * - * ``` - * console.log(typeof new TokenList("myclass row")[Symbol.iterator]); // "function" - * ``` - * - * - * @since 1.2.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -class TokenList extends Base { - - /** - * - * @param {array|string|iteratable} init - */ - constructor(init) { - super(); - this.tokens = new Set(); - - if (typeof init !== "undefined") { - this.add(init); - } - - } - - /** - * Iterator protocol - * - * @returns {Symbol.iterator} - */ - getIterator() { - return this[Symbol.iterator](); - } - - /** - * Iterator - * - * @returns {{next: ((function(): ({value: *, done: boolean}))|*)}} - */ - [Symbol.iterator]() { - // Use a new index for each iterator. This makes multiple - // iterations over the iterable safe for non-trivial cases, - // such as use of break or nested looping over the same iterable. - let index = 0; - let entries = this.entries() - - return { - next: () => { - if (index < entries.length) { - return {value: entries?.[index++], done: false} - } else { - return {done: true} - } - } - } - } - - /** - * Returns true if it contains token, otherwise false - * - * ``` - * new TokenList("start middle end").contains('start')); // ↦ true - * new TokenList("start middle end").contains('end')); // ↦ true - * new TokenList("start middle end").contains('xyz')); // ↦ false - * new TokenList("start middle end").contains(['end','start','middle'])); // ↦ true - * new TokenList("start middle end").contains(['end','start','xyz'])); // ↦ false - * ``` - * - * @param {array|string|iteratable} value - * @returns {boolean} - */ - contains(value) { - if (isString(value)) { - value = value.trim() - let counter = 0; - value.split(" ").forEach(token => { - if (this.tokens.has(token.trim()) === false) return false; - counter++ - }) - return counter > 0 ? true : false; - } - - if (isIterable(value)) { - let counter = 0; - for (let token of value) { - validateString(token); - if (this.tokens.has(token.trim()) === false) return false; - counter++ - } - return counter > 0 ? true : false; - } - - return false; - } - - /** - * add tokens - * - * ``` - * new TokenList().add("abc xyz").toString(); // ↦ "abc xyz" - * new TokenList().add(["abc","xyz"]).toString(); // ↦ "abc xyz" - * new TokenList().add(undefined); // ↦ add nothing - * ``` - * - * @param {array|string|iteratable} value - * @returns {TokenList} - * @throws {TypeError} unsupported value - */ - add(value) { - if (isString(value)) { - value.split(" ").forEach(token => { - this.tokens.add(token.trim()); - }) - } else if (isIterable(value)) { - for (let token of value) { - validateString(token); - this.tokens.add(token.trim()); - } - } else if (typeof value !== "undefined") { - throw new TypeError("unsupported value"); - } - - return this; - } - - /** - * remove all tokens - * - * @returns {TokenList} - */ - clear() { - this.tokens.clear(); - return this; - } - - /** - * Removes token - * - * ``` - * new TokenList("abc xyz").remove("xyz").toString(); // ↦ "abc" - * new TokenList("abc xyz").remove(["xyz"]).toString(); // ↦ "abc" - * new TokenList("abc xyz").remove(undefined); // ↦ remove nothing - * ``` - * - * @param {array|string|iteratable} value - * @returns {TokenList} - * @throws {TypeError} unsupported value - */ - remove(value) { - if (isString(value)) { - value.split(" ").forEach(token => { - this.tokens.delete(token.trim()); - }) - } else if (isIterable(value)) { - for (let token of value) { - validateString(token); - this.tokens.delete(token.trim()); - } - } else if (typeof value !== "undefined") { - throw new TypeError("unsupported value"); - } - - return this; - } - - /** - * this method replaces a token with a new token. - * - * if the passed token exists, it is replaced with newToken and TokenList is returned. - * if the token does not exist, newToken is not set and TokenList is returned. - * - * @param {string} token - * @param {string} newToken - * @returns {TokenList} - */ - replace(token, newToken) { - validateString(token); - validateString(newToken); - if (!this.contains(token)) { - return this; - } - - let a = Array.from(this.tokens) - let i = a.indexOf(token); - if (i === -1) return this; - - a.splice(i, 1, newToken); - this.tokens = new Set(); - this.add(a); - - return this; - - - } - - /** - * Removes token from string. If token doesn't exist it's added. - * - * ``` - * new TokenList("abc def ghi").toggle("def xyz").toString(); // ↦ "abc ghi xyz" - * new TokenList("abc def ghi").toggle(["abc","xyz"]).toString(); // ↦ "def ghi xyz" - * new TokenList().toggle(undefined); // ↦ nothing - * ``` - * - * @param {array|string|iteratable} value - * @returns {boolean} - * @throws {TypeError} unsupported value - */ - toggle(value) { - - if (isString(value)) { - value.split(" ").forEach(token => { - toggleValue.call(this, token); - }) - } else if (isIterable(value)) { - for (let token of value) { - toggleValue.call(this, token); - } - } else if (typeof value !== "undefined") { - throw new TypeError("unsupported value"); - } - - return this; - - } - - /** - * returns an array with all tokens - * - * @returns {array} - */ - entries() { - return Array.from(this.tokens) - } - - /** - * executes the provided function with each value of the set - * - * @param {function} callback - * @returns {TokenList} - */ - forEach(callback) { - validateFunction(callback); - this.tokens.forEach(callback); - return this; - } - - /** - * returns the individual tokens separated by a blank character - * - * @returns {string} - */ - toString() { - return this.entries().join(' '); - } - -} - -/** - * @private - * @param token - * @returns {toggleValue} - * @throws {Error} must be called with TokenList.call - */ -function toggleValue(token) { - if (!(this instanceof TokenList)) throw Error("must be called with TokenList.call") - validateString(token); - token = token.trim(); - if (this.contains(token)) { - this.remove(token); - return this; - } - this.add(token); - return this; -} - -Monster.assignToNamespace('Monster.Types', TokenList); -export {Monster, TokenList} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_uniquequeue.js.html b/docs/types_uniquequeue.js.html deleted file mode 100644 index d30e510f7..000000000 --- a/docs/types_uniquequeue.js.html +++ /dev/null @@ -1,271 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/uniquequeue.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/uniquequeue.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>import {Monster, Queue} from "./queue.js"; -import {validateObject} from "./validate.js"; - -/** - * you can call the method via the monster namespace `new Monster.Types.Queue()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js'; - * console.log(new Monster.Types.UniqueQueue()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js'; - * console.log(new UniqueQueue()) - * </script> - * ``` - * - * @since 1.4.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -class UniqueQueue extends Queue { - - /** - * - */ - constructor() { - super(); - this.unique = new WeakSet(); - } - - /** - * Add a new element to the end of the queue. - * - * @param {object} value - * @returns {Queue} - * @throws {TypeError} value is not a object - */ - add(value) { - - validateObject(value); - - if (!this.unique.has(value)) { - this.unique.add(value); - super.add(value); - } - - return this; - } - - /** - * remove all entries - * - * @returns {Queue} - */ - clear() { - super.clear(); - this.unique = new WeakSet; - return this; - } - - /** - * Remove the element at the front of the queue - * If the queue is empty, return undefined. - * - * @return {object} - */ - poll() { - - if (this.isEmpty()) { - return undefined; - } - let value = this.data.shift(); - this.unique.delete(value); - return value; - } - - -} - -Monster.assignToNamespace('Monster.Types', UniqueQueue); -export {Monster, UniqueQueue} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_validate.js.html b/docs/types_validate.js.html deleted file mode 100644 index a09ef1598..000000000 --- a/docs/types_validate.js.html +++ /dev/null @@ -1,567 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/validate.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/validate.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import { - isPrimitive, - isBoolean, - isString, - isObject, - isArray, - isFunction, - isIterable, - isInstance, - isInteger -} from './is.js'; - -/** - * this method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown. - * - * you can call the method via the monster namespace `Monster.Types.validatePrimitive()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError - * console.log(Monster.Types.validateIterable([])) // ↦ undefined - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(validateIterable('2')) // ↦ TypeError - * console.log(validateIterable([])) // ↦ undefined - * </script> - * ``` - * - * @param {*} value - * @return {undefined} - * @since 1.2.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - * @throws {TypeError} value is not a primitive - * @see {@link isPrimitive} - * @see {@link Monster/Types/isPrimitive} - * @see {@link Monster/Types#isPrimitive} - */ -function validateIterable(value) { - if (!isIterable(value)) { - throw new TypeError('value is not iterable') - } -} - -/** - * this method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown. - * - * you can call the method via the monster namespace `Monster.Types.validatePrimitive()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined - * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(validatePrimitive('2')) // ↦ undefined - * console.log(validatePrimitive([])) // ↦ TypeError - * </script> - * ``` - * - * @param {*} value - * @return {undefined} - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - * @throws {TypeError} value is not a primitive - * @see {@link isPrimitive} - * @see {@link Monster/Types/isPrimitive} - * @see {@link Monster/Types#isPrimitive} - */ -function validatePrimitive(value) { - if (!isPrimitive(value)) { - throw new TypeError('value is not a primitive') - } -} - -/** - * this method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown. - * - * you can call the method via the monster namespace `Monster.Types.validateBoolean()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined - * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError - * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(validateBoolean(false)) // ↦ undefined - * console.log(validateBoolean('2')) // ↦ TypeError - * console.log(validateBoolean([])) // ↦ TypeError - * </script> - * ``` - * - * @param {*} value - * @return {undefined} - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - - * @throws {TypeError} value is not primitive - */ -function validateBoolean(value) { - if (!isBoolean(value)) { - throw new TypeError('value is not a boolean') - } -} - -/** - * this method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown. - * - * you can call the method via the monster namespace `Monster.Types.validateString()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(Monster.Types.validateString('2')) // ↦ undefined - * console.log(Monster.Types.validateString([])) // ↦ TypeError - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(validateString('2')) // ↦ undefined - * console.log(validateString([])) // ↦ TypeError - * </script> - * ``` - * - * @param {*} value - * @return {undefined} - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - * @throws {TypeError} value is not a string - */ -function validateString(value) { - if (!isString(value)) { - throw new TypeError('value is not a string') - } -} - - -/** - * this method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown. - * - * you can call the method via the monster namespace `Monster.Types.validateObject()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(Monster.Types.validateObject({})) // ↦ undefined - * console.log(Monster.Types.validateObject('2')) // ↦ TypeError - * console.log(Monster.Types.validateObject([])) // ↦ TypeError - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(validateObject({})) // ↦ undefined - * console.log(validateObject('2')) // ↦ TypeError - * console.log(validateObject([])) // ↦ TypeError - * </script> - * ``` - * - * @param {*} value - * @return {undefined} - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - * @throws {TypeError} value is not a object - */ -function validateObject(value) { - if (!isObject(value)) { - throw new TypeError('value is not a object') - } -} - -/** - * this method checks if the type matches the object instance. - * - * you can call the method via the monster namespace `Monster.Types.validateInstance()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined - * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError - * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(validateInstance({}, Object)) // ↦ undefined - * console.log(validateInstance('2', Object)) // ↦ TypeError - * console.log(validateInstance([], Object)) // ↦ TypeError - * </script> - * ``` - * - * @param {*} value - * @return {undefined} - * @since 1.5.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - * @throws {TypeError} value is not an instance of - */ -function validateInstance(value, instance) { - if (!isInstance(value, instance)) { - let n = ""; - if (isObject(instance) || isFunction(instance)) { - n = instance?.['name'] - } - - if (n) { - n = " " + n; - } - - throw new TypeError('value is not an instance of' + n) - } -} - -/** - * this method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown. - * - * you can call the method via the monster namespace `Monster.Types.validateArray()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(Monster.Types.validateArray('2')) // ↦ TypeError - * console.log(Monster.Types.validateArray([])) // ↦ undefined - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(validateArray('2')) // ↦ TypeError - * console.log(validateArray([])) // ↦ undefined - * </script> - * ``` - * - * @param {*} value - * @return {undefined} - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - * @throws {TypeError} value is not an array - */ -function validateArray(value) { - if (!isArray(value)) { - throw new TypeError('value is not an array') - } -} - -/** - * this method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown. - * - * you can call the method via the monster namespace `Monster.Types.validateFunction()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined - * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError - * console.log(Monster.Types.validateFunction([])) // ↦ TypeError - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(validateFunction(()=>{})) // ↦ undefined - * console.log(validateFunction('2')) // ↦ TypeError - * console.log(validateFunction([])) // ↦ TypeError - * </script> - * ``` - * - * @param {*} value - * @return {undefined} - * @since 1.0.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - * @throws {TypeError} value is not a function - */ -function validateFunction(value) { - if (!isFunction(value)) { - throw new TypeError('value is not a function') - } -} - -/** - * this method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown. - * - * you can call the method via the monster namespace `Monster.Types.validateInteger()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError - * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError - * console.log(Monster.Types.validateInteger(2)) // ↦ undefined - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; - * console.log(validateInteger(true)) // ↦ TypeError - * console.log(validateInteger('2')) // ↦ TypeError - * console.log(validateInteger(2)) // ↦ undefined - * </script> - * ``` - * - * @param {*} value - * @return {undefined} - * @since 1.4.0 - * @copyright schukai GmbH - * @memberOf Monster/Types - * @throws {TypeError} value is not an integer - */ -function validateInteger(value) { - if (!isInteger(value)) { - throw new TypeError('value is not an integer') - } -} - -Monster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger); -export { - Monster, - validatePrimitive, - validateBoolean, - validateString, - validateObject, - validateInstance, - validateArray, - validateFunction, - validateIterable, - validateInteger -} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/types_version.js.html b/docs/types_version.js.html deleted file mode 100644 index c66a3602a..000000000 --- a/docs/types_version.js.html +++ /dev/null @@ -1,371 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - types/version.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - types/version.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -import {Monster} from '../namespace.js'; -import {Base} from './base.js'; - -/** - * the version object contains a sematic version number - * - * you can create the object via the monster namespace `new Monster.Types.Version()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; - * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3 - * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0 - * </script> - * ``` - * - * Alternatively, you can also integrate this class individually. - * - * ``` - * <script type="module"> - * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; - * console.log(new Version('1.2.3')) // ↦ 1.2.3 - * console.log(new Version('1')) // ↦ 1.0.0 - * </script> - * ``` - * - * @example - * - * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; - * - * new Version('1.0.0') // ↦ 1.0.0 - * new Version(1) // ↦ 1.0.0 - * new Version(1, 0, 0) // ↦ 1.0.0 - * new Version('1.2.3', 4, 5) // ↦ 1.4.5 - * - * @since 1.0.0 - * @author schukai GmbH - * @copyright schukai GmbH - * @memberOf Monster/Types - */ -class Version extends Base { - - /** - * - * @param major - * @param minor - * @param patch - * @throws {Error} major is not a number - * @throws {Error} minor is not a number - * @throws {Error} patch is not a number - */ - constructor(major, minor, patch) { - super(); - - if (typeof major === 'string' && minor === undefined && patch === undefined) { - - let parts = major.toString().split('.'); - major = parseInt(parts[0] || 0); - minor = parseInt(parts[1] || 0); - patch = parseInt(parts[2] || 0); - } - - if (major === undefined) { - throw new Error("major version is undefined"); - } - - if (minor === undefined) { - minor = 0; - } - - if (patch === undefined) { - patch = 0; - } - - this.major = parseInt(major); - this.minor = parseInt(minor); - this.patch = parseInt(patch); - - if (isNaN(this.major)) { - throw new Error("major is not a number"); - } - - if (isNaN(this.minor)) { - throw new Error("minor is not a number"); - } - - if (isNaN(this.patch)) { - throw new Error("patch is not a number"); - } - - } - - /** - * - * @returns {string} - */ - toString() { - return this.major + '.' + this.minor + '.' + this.patch; - } - - /** - * returns 0 if equal, -1 if the object version is less and 1 if greater - * then the compared version - * - * @param {string|Version} version Version to compare - * @returns {number} - */ - compareTo(version) { - - if (version instanceof Version) { - version = version.toString(); - } - - if (typeof version !== 'string') { - throw new Error("type exception"); - } - - if (version === this.toString()) { - return 0; - } - - let a = [this.major, this.minor, this.patch]; - let b = version.split('.'); - let len = Math.max(a.length, b.length); - - for (let i = 0; i < len; i += 1) { - if ((a[i] && !b[i] && parseInt(a[i]) > 0) || (parseInt(a[i]) > parseInt(b[i]))) { - return 1; - } else if ((b[i] && !a[i] && parseInt(b[i]) > 0) || (parseInt(a[i]) < parseInt(b[i]))) { - return -1; - } - } - - return 0; - }; - -} - -Monster.assignToNamespace('Monster.Types', Version); - - -let monsterVersion; - -/** - * Version of monster - * - * you can call the method via the monster namespace `Monster.getVersion()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; - * console.log(Monster.getVersion()) - * console.log(Monster.getVersion()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; - * console.log(getVersion()) - * console.log(getVersion()) - * </script> - * ``` - * - * @returns {Monster.Types.Version} - * @since 1.0.0 - * @copyright schukai GmbH - * @author schukai GmbH - * @memberOf Monster - */ -function getVersion() { - if (monsterVersion instanceof Version) { - return monsterVersion; - } - /**#@+ dont touch, replaced by make with package.json version */ - monsterVersion = new Version('1.7.0') - /**#@-*/ - return monsterVersion; - -} - -Monster.assignToNamespace('Monster', getVersion); -export {Monster, Version, getVersion} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/util_clone.js.html b/docs/util_clone.js.html deleted file mode 100644 index 18a6a2590..000000000 --- a/docs/util_clone.js.html +++ /dev/null @@ -1,336 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - util/clone.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - util/clone.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {isObject, isFunction, isPrimitive, isArray} from '../types/is.js'; -import {getGlobal} from '../types/global.js'; - - -/** - * with this function, objects can be cloned. - * the entire object tree is run through. - * - * Proxy, Element, HTMLDocument and DocumentFragment instances are not cloned. - * Global objects such as windows are also not cloned, - * - * If an object has a method `getClone()`, this method is used to create the clone. - * - * you can call the method via the monster namespace `Monster.Util.clone()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js'; - * console.log(Monster.Util.clone({})) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js'; - * console.log(clone({})) - * </script> - * ``` - * - * - * @param {*} obj object to be cloned - * @returns {*} - * - * @since 1.0.0 - * @memberOf Monster/Util - * @copyright schukai GmbH - * @throws {Error} unable to clone obj! its type isn't supported. - */ -function clone(obj) { - - // typeof null results in 'object'. https://2ality.com/2013/10/typeof-null.html - if (null === obj) { - return obj; - } - - // Handle the two simple types, null and undefined - if (isPrimitive(obj)) { - return obj; - } - - // Handle the two simple types, null and undefined - if (isFunction(obj)) { - return obj; - } - - // Handle Array - if (isArray(obj)) { - let copy = []; - for (var i = 0, len = obj.length; i < len; i++) { - copy[i] = clone(obj[i]); - } - - return copy; - } - - if (isObject(obj)) { - - - // Handle Date - if (obj instanceof Date) { - let copy = new Date(); - copy.setTime(obj.getTime()); - return copy; - } - - /** Do not clone DOM nodes */ - if (typeof Element !== 'undefined' && obj instanceof Element) return obj; - if (typeof HTMLDocument !== 'undefined' && obj instanceof HTMLDocument) return obj; - if (typeof DocumentFragment !== 'undefined' && obj instanceof DocumentFragment) return obj; - - /** Do not clone global objects */ - if (obj === getGlobal()) return obj; - if (typeof globalContext !== 'undefined' && obj === globalContext) return obj; - if (typeof window !== 'undefined' && obj === window) return obj; - if (typeof document !== 'undefined' && obj === document) return obj; - if (typeof navigator !== 'undefined' && obj === navigator) return obj; - if (typeof JSON !== 'undefined' && obj === JSON) return obj; - - // Handle Proxy-Object - try { - // try/catch because possible: TypeError: Function has non-object prototype 'undefined' in instanceof check - if (obj instanceof Proxy) { - return obj; - } - } catch (e) { - } - - return cloneObject(obj) - - } - - throw new Error("unable to clone obj! its type isn't supported."); -} - -/** - * - * @param {object} obj - * @returns {object} - * @private - */ -function cloneObject(obj) { - var copy; - - /** Object has clone method */ - if (typeof obj.hasOwnProperty('getClone') && obj.getClone === 'function') { - return obj.getClone(); - } - - copy = {}; - if (typeof obj.constructor === 'function' && - typeof obj.constructor.call === 'function') { - copy = new obj.constructor(); - } - - for (let key in obj) { - - if (!obj.hasOwnProperty(key)) { - continue; - } - - if (Monster.Types.isPrimitive(obj[key])) { - copy[key] = obj[key]; - continue; - } - - copy[key] = clone(obj[key]); - } - - return copy; -} - -Monster.assignToNamespace('Monster.Util', clone); -export {Monster, clone} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/util_comparator.js.html b/docs/util_comparator.js.html deleted file mode 100644 index b6caea29c..000000000 --- a/docs/util_comparator.js.html +++ /dev/null @@ -1,345 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - util/comparator.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - util/comparator.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster, Base} from '../types/base.js'; -import {isFunction} from '../types/is.js'; - -/** - * the comparator allows a comparison function to be abstracted. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; - * console.log(new Monster.Util.Comparator()) - * console.log(new Monster.Util.Comparator()) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; - * console.log(new Util()) - * console.log(new Util()) - * </script> - * ``` - * - * the following are some examples of the application of the class. - * - * ``` - * new Comparator().lessThanOrEqual(2, 5) // ↦ true - * new Comparator().greaterThan(4, 2) // ↦ true - * new Comparator().equal(4, 4) // ↦ true - * new Comparator().equal(4, 5) // ↦ false - * ``` - * - * you can also pass your own comparison function, and thus define the comparison function. - * - * ``` - * new Comparator(function (a, b) { - * if (a.v === b.v) return 0; - * return a.v < b.v ? -1 : 1; - * }).equal({v: 2}, {v: 2}); // ↦ true - * ``` - * - * @since 1.3.0 - * @memberOf Monster/Util - */ -class Comparator extends Base { - - /** - * create new comparator - * - * @param {function} callback - * @throw {TypeError} "unsupported type" - * @throw {TypeError} "impractical comparison" - */ - constructor(callback) { - super(); - - if (isFunction(callback)) { - this.compare = callback - } else if (callback !== undefined) { - throw new TypeError("unsupported type") - } else { - // default compare function - this.compare = function (a, b) { - - if (typeof a !== typeof b) { - throw new TypeError("impractical comparison") - } - - if (a === b) { - return 0; - } - return a < b ? -1 : 1; - }; - } - - } - - /** - * changes the order of the operators - * - * @return {Comparator} - */ - reverse() { - const original = this.compare; - this.compare = (a, b) => original(b, a); - return this; - } - - /** - * Checks if two variables are equal. - * - * @param {*} a - * @param {*} b - * - * @return {boolean} - */ - equal(a, b) { - return this.compare(a, b) === 0; - } - - - /** - * Checks if variable `a` is greater than `b` - * - * @param {*} a - * @param {*} b - * - * @return {boolean} - */ - greaterThan(a, b) { - return this.compare(a, b) > 0; - } - - /** - * Checks if variable `a` is greater than or equal to `b` - * - * @param {*} a - * @param {*} b - * - * @return {boolean} - */ - greaterThanOrEqual(a, b) { - return this.greaterThan(a, b) || this.equal(a, b); - } - - /** - * Checks if variable `a` is less than or equal to `b` - * - * @param {*} a - * @param {*} b - * - * @return {boolean} - */ - lessThanOrEqual(a, b) { - return this.lessThan(a, b) || this.equal(a, b); - } - - /** - * Checks if variable a is less than b - * - * @param {*} a - * @param {*} b - * - * @return {boolean} - */ - lessThan(a, b) { - return this.compare(a, b) < 0; - } - - -} - -Monster.assignToNamespace('Monster.Util', Comparator); -export {Monster, Comparator} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/util_freeze.js.html b/docs/util_freeze.js.html deleted file mode 100644 index f56e39199..000000000 --- a/docs/util_freeze.js.html +++ /dev/null @@ -1,241 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - util/freeze.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - util/freeze.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @author schukai GmbH - */ - -import {Monster} from '../namespace.js'; -import {validateObject} from '../types/validate.js'; - -/** - * deep freeze a object - * - * you can call the method via the monster namespace `Monster.Util.deepFreeze()`. - * - * ``` - * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js'; - * console.log(Monster.Util.deepFreeze({})) - * </script> - * ``` - * - * Alternatively, you can also integrate this function individually. - * - * ``` - * <script type="module"> - * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js'; - * console.log(deepFreeze({})) - * </script> - * ``` - * - * @param {object} obj object to be freeze - * @since 1.0.0 - * @returns {object} - * @memberOf Monster/Util - * @copyright schukai GmbH - * @throws {TypeError} value is not a object - */ -function deepFreeze(object) { - - validateObject(object) - - // Retrieve the defined property names of the object - var propNames = Object.getOwnPropertyNames(object); - - // Freeze properties before freezing yourself - for (let name of propNames) { - let value = object[name]; - - object[name] = value && typeof value === "object" ? - deepFreeze(value) : value; - } - - return Object.freeze(object); -} - -Monster.assignToNamespace('Monster.Util', deepFreeze); -export {Monster, deepFreeze} -</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/docs/util_namespace.js.html b/docs/util_namespace.js.html deleted file mode 100644 index 7709858fc..000000000 --- a/docs/util_namespace.js.html +++ /dev/null @@ -1,196 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - - <!-- Adding meta --> - - - <meta name="author" content="schukai GmbH" /> - - <meta name="description" content="javascript library for optimal use on fast and flexible pages." /> - - - - <!-- Adding external script--> - - - <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script> - - - - <!-- Adding external style--> - - - <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" /> - - - - <!-- Adding scripts--> - - - <!-- Adding style--> - - - <!-- Adding overlay script--> - - <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js" - integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q==" - crossorigin="anonymous"></script> - - - <!-- Adding overlay style--> - - - - <title> - util/namespace.js - </title> - - <!--[if lt IE 9]> - <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> - <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> - <link type="text/css" rel="stylesheet" href="styles/reset.css"> - <link type="text/css" rel="stylesheet" href="styles/heading.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> - <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> - - <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" - style="display:none"> - <defs> - <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> - <g> - <path - d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" /> - <path - d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" /> - </g> - </symbol> - <symbol id='search-icon' viewBox="0 0 512 512"> - <g> - <g> - <path - d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" /> - </g> - </g> - <g> - <g> - <path - d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" /> - </g> - </g> - </symbol> - <symbol id="down-icon" viewBox="0 0 16 16"> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z" - > - </path> - </symbol> - </defs> -</svg> - </head> - - <body> - - <nav class="navbar" id="navbar"> - <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div> - - <div class="navbar-resize" id="navbar-resize"> - <div class="resize-dots-container"> - <div class="dots"></div> - <div class="dots"></div> - <div class="dots"></div> - </div> - </div> - - - </nav> - <div class="navbar-ham" id="navbar-ham"> - <div> - <div class="first"></div> - <div class="second"></div> - <div class="third"></div> - </div> - </div> - - <div id="main" class="main-content"> - - <h1 id='page-title' class="page-title"> - util/namespace.js - </h1> - - - - - - - - <section> - <article> - <pre class="prettyprint source linenums"><code>'use strict'; - -/** - * @namespace Monster/Util - * @author schukai GmbH - */ - - -/** - * @private - * @type {string} - */ -const namespace="Monster.Util";</code></pre> - </article> - </section> - - - - - </div> - - <footer class="footer" id="footer"> - <a href='https://about.schukai.com/de/impressum/'>Imprint</a> - </footer> - - <script src="scripts/third-party/prettify.js"></script> - <script src="scripts/third-party/lang-css.js"></script> - <script type="text/javascript" src="scripts/misc.js"></script> - - <script>prettyPrint();</script> - <script src="scripts/linenumber.js"></script> - <script src="scripts/fix-code-block.js"></script> - <script src="scripts/fix-navbar.js"></script> - - - - - - <script src="scripts/resize.js"></script> - <script type="text/javascript"> - var option = {"min":"300","max":"600"} - setupResizeOptions(option) - </script> - - - - - - <script type="text/javascript"> - var option = JSON.parse('{"options":{}}') - console.log(option) - document.addEventListener("DOMContentLoaded", function () { - OverlayScrollbars(document.querySelectorAll('body'), option.option || {}); - }); - </script> - - - - </body> - -</html> \ No newline at end of file diff --git a/jsdoc.json b/jsdoc.json index 7d1a9f2c3..f8c5728e2 100644 --- a/jsdoc.json +++ b/jsdoc.json @@ -69,7 +69,7 @@ }, "codepen": { "enable_for": [ - "examples","tutorials" + "examples" ], "options": { "title": "awaken the monster in you; javascript library by schukai GmbH", diff --git a/package-lock.json b/package-lock.json index ccc436314..89418b630 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,7 @@ "version": "x.x.x", "license": "see LICENSE file", "dependencies": { - "clean-jsdoc-theme": "^3.2.7", - "jsdom-global": "^3.0.2" + "istanbul-instrumenter-loader": "^3.0.1" }, "devDependencies": { "@babel/cli": "^7.14.5", @@ -21,12 +20,15 @@ "@jsenv/node-module-import-map": "^13.6.0", "@peculiar/webcrypto": "^1.1.7", "@web/dev-server-import-maps": "^0.0.5", + "babel-plugin-istanbul": "^6.0.0", "babel-plugin-source-map-support": "^2.1.3", "babel-preset-env": "^1.7.0", "babelify": "^10.0.0", "browserify": "^17.0.0", "btoa": "^1.2.1", "chai": "^4.3.4", + "chai-dom": "^1.9.0", + "clean-jsdoc-theme": "^3.2.7", "crypt": "^0.0.2", "docdash": "^1.2.0", "eslint": "^7.28.0", @@ -36,10 +38,12 @@ "get-random-values": "^1.2.2", "jsdoc": "^3.6.7", "jsdom": "^16.6.0", + "jsdom-global": "^3.0.2", "lstat": "^1.0.0", "mocha": "^9.0.2", "mocha-headless": "^8.0.0", "mochify": "^8.1.0", + "nyc": "^15.1.0", "process": "^0.11.10", "sinon": "^11.1.1", "supertest": "^6.1.4", @@ -486,6 +490,7 @@ "version": "7.14.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz", "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==", + "dev": true, "bin": { "parser": "bin/babel-parser.js" }, @@ -1788,6 +1793,92 @@ "integrity": "sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==", "dev": true }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -2060,6 +2151,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, "engines": { "node": ">= 6" } @@ -2306,10 +2398,198 @@ "node": ">=10.0.0" } }, + "node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "peer": true, + "dependencies": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "peer": true + }, "node_modules/abab": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true }, "node_modules/abbrev": { "version": "1.0.9", @@ -2334,6 +2614,7 @@ "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -2345,6 +2626,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, "dependencies": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" @@ -2374,6 +2656,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -2382,6 +2665,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, "dependencies": { "debug": "4" }, @@ -2389,11 +2673,32 @@ "node": ">= 6.0.0" } }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/aggregate-error/node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2405,6 +2710,24 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "peer": true, + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -2463,7 +2786,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, + "devOptional": true, "dependencies": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" @@ -2473,7 +2796,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, + "devOptional": true, "dependencies": { "remove-trailing-separator": "^1.0.1" }, @@ -2502,6 +2825,24 @@ "node": ">=8" } }, + "node_modules/append-transform": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "dev": true, + "dependencies": { + "default-require-extensions": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "peer": true + }, "node_modules/archiver": { "version": "0.14.4", "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz", @@ -2579,10 +2920,17 @@ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "dependencies": { "sprintf-js": "~1.0.2" } @@ -2591,7 +2939,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2600,7 +2947,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2609,7 +2955,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2639,7 +2984,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2657,7 +3001,6 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -2668,8 +3011,7 @@ "node_modules/asn1.js/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "node_modules/asn1js": { "version": "2.1.1", @@ -2687,7 +3029,6 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, "dependencies": { "object-assign": "^4.1.1", "util": "0.10.3" @@ -2696,14 +3037,12 @@ "node_modules/assert/node_modules/inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" }, "node_modules/assert/node_modules/util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, "dependencies": { "inherits": "2.0.1" } @@ -2721,7 +3060,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2745,17 +3083,19 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true + "devOptional": true }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, "engines": { "node": ">= 4.0.0" } @@ -2764,7 +3104,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, "bin": { "atob": "bin/atob.js" }, @@ -2788,7 +3127,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, "dependencies": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -2799,7 +3137,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2808,7 +3145,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -2817,7 +3153,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "dependencies": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -2832,14 +3167,12 @@ "node_modules/babel-code-frame/node_modules/js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "node_modules/babel-code-frame/node_modules/strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "dependencies": { "ansi-regex": "^2.0.0" }, @@ -2851,11 +3184,33 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, "engines": { "node": ">=0.8.0" } }, + "node_modules/babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "node_modules/babel-generator/node_modules/jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "bin": { + "jsesc": "bin/jsesc" + } + }, "node_modules/babel-helper-builder-binary-assignment-operator-visitor": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", @@ -2987,7 +3342,6 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, "dependencies": { "babel-runtime": "^6.22.0" } @@ -3010,6 +3364,22 @@ "object.assign": "^4.1.0" } }, + "node_modules/babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", @@ -3464,7 +3834,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, "dependencies": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" @@ -3474,7 +3843,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, "dependencies": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", @@ -3487,7 +3855,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, "dependencies": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", @@ -3504,7 +3871,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "dependencies": { "ms": "2.0.0" } @@ -3513,7 +3879,6 @@ "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -3521,14 +3886,12 @@ "node_modules/babel-traverse/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node_modules/babel-types": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, "dependencies": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", @@ -3540,7 +3903,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -3561,7 +3923,6 @@ "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true, "bin": { "babylon": "bin/babylon.js" } @@ -3569,14 +3930,12 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -3594,7 +3953,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "dependencies": { "is-descriptor": "^1.0.0" }, @@ -3606,7 +3964,6 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, "funding": [ { "type": "github", @@ -3652,11 +4009,19 @@ "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=", "dev": true }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, "node_modules/binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -3665,7 +4030,6 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, "optional": true, "dependencies": { "file-uri-to-path": "1.0.0" @@ -3712,8 +4076,7 @@ "node_modules/bn.js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" }, "node_modules/body-parser": { "version": "1.12.4", @@ -3781,7 +4144,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3791,7 +4153,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -3811,8 +4172,7 @@ "node_modules/brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, "node_modules/brout": { "version": "1.3.0", @@ -3986,7 +4346,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -4000,7 +4359,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -4011,7 +4369,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -4023,7 +4380,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, "dependencies": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" @@ -4033,7 +4389,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, "dependencies": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", @@ -4050,7 +4405,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -4064,7 +4418,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, "dependencies": { "pako": "~1.0.5" } @@ -4126,20 +4479,17 @@ "node_modules/buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "node_modules/builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" }, "node_modules/bundle-collapser": { "version": "1.4.0", @@ -4164,27 +4514,94 @@ "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=", "dev": true }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "peer": true, "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" } }, - "node_modules/cache-content-type": { + "node_modules/cacache/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "peer": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "peer": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/cacache/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/cacache/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "peer": true + }, + "node_modules/cacache/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "peer": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cache-content-type": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", @@ -4203,6 +4620,36 @@ "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", "dev": true }, + "node_modules/caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "dev": true, + "dependencies": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/caching-transform/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -4273,6 +4720,7 @@ "version": "0.9.0", "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "dev": true, "dependencies": { "lodash": "^4.17.15" }, @@ -4297,6 +4745,19 @@ "node": ">=4" } }, + "node_modules/chai-dom": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/chai-dom/-/chai-dom-1.9.0.tgz", + "integrity": "sha512-UXSbhcGVBWv/5qVqbJY/giTDRyo3wKapUsWluEuVvxcJLFXkyf8l4D2PTd6trzrmca6WWnGdpaFkYdl1P0WjtA==", + "dev": true, + "engines": { + "node": ">= 0.12.0" + }, + "peerDependencies": { + "chai": ">= 3", + "mocha": ">= 2" + } + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -4333,7 +4794,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, + "devOptional": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4354,7 +4815,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, + "devOptional": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -4367,7 +4828,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -4376,7 +4837,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, + "devOptional": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -4388,7 +4849,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, + "devOptional": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -4400,7 +4861,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, + "devOptional": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -4412,7 +4873,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.12.0" } @@ -4421,7 +4882,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, + "devOptional": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -4433,7 +4894,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, + "devOptional": true, "dependencies": { "is-number": "^7.0.0" }, @@ -4444,8 +4905,7 @@ "node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "node_modules/chrome-launcher": { "version": "0.11.2", @@ -4510,6 +4970,15 @@ "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", "dev": true }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "peer": true, + "engines": { + "node": ">=6.0" + } + }, "node_modules/chrome-unmirror": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/chrome-unmirror/-/chrome-unmirror-0.1.0.tgz", @@ -4524,7 +4993,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -4534,7 +5002,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, "dependencies": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -4549,7 +5016,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -4561,7 +5027,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -4573,7 +5038,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -4585,7 +5049,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -4599,7 +5062,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4608,6 +5070,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/clean-jsdoc-theme/-/clean-jsdoc-theme-3.2.7.tgz", "integrity": "sha512-G/jpIIFY0aZ0ey3A81DRKRd+IG64yco/uwAITHtrZd9X2GHiQOFhT4yDymKTCxrsd/dainhFsF1E6ochGJBjRQ==", + "dev": true, "dependencies": { "fs-extra": "^9.1.0" }, @@ -4615,6 +5078,15 @@ "jsdoc": "3" } }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -4639,7 +5111,6 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -4649,7 +5120,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -4710,6 +5180,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -4739,11 +5210,15 @@ "wrap-comment": "^1.0.1" } }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, "node_modules/component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "node_modules/compress-commons": { "version": "0.2.9", @@ -4787,14 +5262,12 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "node_modules/concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, "engines": [ "node >= 0.8" ], @@ -4838,8 +5311,7 @@ "node_modules/console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" }, "node_modules/consolify": { "version": "2.2.0", @@ -4860,8 +5332,7 @@ "node_modules/constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, "node_modules/content-disposition": { "version": "0.5.3", @@ -4894,7 +5365,6 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.1" } @@ -4902,8 +5372,7 @@ "node_modules/convert-source-map/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/cookie": { "version": "0.4.0", @@ -4939,11 +5408,48 @@ "node": ">= 0.8" } }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "peer": true, + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-concurrently/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "peer": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4953,7 +5459,6 @@ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", - "dev": true, "hasInstallScript": true }, "node_modules/core-js-compat": { @@ -4982,8 +5487,7 @@ "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "node_modules/cors": { "version": "2.8.5", @@ -5122,7 +5626,6 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -5131,14 +5634,12 @@ "node_modules/create-ecdh/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "node_modules/create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -5151,7 +5652,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -5188,7 +5688,6 @@ "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -5209,12 +5708,14 @@ "node_modules/cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true }, "node_modules/cssstyle": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, "dependencies": { "cssom": "~0.3.6" }, @@ -5225,7 +5726,8 @@ "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true }, "node_modules/currently-unhandled": { "version": "0.4.1", @@ -5239,6 +5741,12 @@ "node": ">=0.10.0" } }, + "node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "peer": true + }, "node_modules/d": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", @@ -5259,6 +5767,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, "dependencies": { "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", @@ -5272,6 +5781,7 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -5318,13 +5828,13 @@ "node_modules/decimal.js": { "version": "10.3.1", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true }, "node_modules/decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, "engines": { "node": ">=0.10" } @@ -5369,7 +5879,29 @@ "node_modules/deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/default-require-extensions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "dev": true, + "dependencies": { + "strip-bom": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-require-extensions/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } }, "node_modules/define-properties": { "version": "1.1.3", @@ -5387,7 +5919,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, "dependencies": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -5406,6 +5937,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -5444,7 +5976,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -5456,6 +5987,17 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, + "node_modules/detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/detective": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", @@ -5492,7 +6034,6 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -5502,8 +6043,7 @@ "node_modules/diffie-hellman/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "node_modules/docdash": { "version": "1.2.0", @@ -5533,7 +6073,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, "engines": { "node": ">=0.4", "npm": ">=1.2" @@ -5543,6 +6082,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, "dependencies": { "webidl-conversions": "^5.0.0" }, @@ -5554,6 +6094,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, "engines": { "node": ">=8" } @@ -5615,7 +6156,6 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -5629,8 +6169,7 @@ "node_modules/elliptic/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -5638,6 +6177,14 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -5651,11 +6198,37 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "dependencies": { "once": "^1.4.0" } }, + "node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "peer": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, "node_modules/enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -5671,7 +6244,20 @@ "node_modules/entities": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "peer": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } }, "node_modules/error-ex": { "version": "1.3.2", @@ -5746,6 +6332,12 @@ "next-tick": "~1.0.0" } }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, "node_modules/es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", @@ -5850,7 +6442,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -5859,6 +6450,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -5880,6 +6472,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, "engines": { "node": ">=4.0" } @@ -5888,6 +6481,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -5900,6 +6494,7 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -5916,6 +6511,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, "engines": { "node": ">= 0.8.0" } @@ -5924,6 +6520,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "optional": true, "engines": { "node": ">=0.10.0" @@ -5933,6 +6530,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, "dependencies": { "prelude-ls": "~1.1.2" }, @@ -6215,6 +6813,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -6254,7 +6853,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -6266,7 +6864,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, "engines": { "node": ">=4.0" } @@ -6275,7 +6872,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, "engines": { "node": ">=4.0" } @@ -6353,7 +6949,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, "engines": { "node": ">=0.8.x" } @@ -6362,7 +6957,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -6387,7 +6981,6 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -6405,7 +6998,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "dependencies": { "ms": "2.0.0" } @@ -6414,7 +7006,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -6426,7 +7017,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -6438,7 +7028,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -6450,7 +7039,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -6464,7 +7052,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -6472,8 +7059,7 @@ "node_modules/expand-brackets/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node_modules/express": { "version": "4.17.1", @@ -6676,7 +7262,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -6688,7 +7273,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -6707,7 +7291,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "dependencies": { "is-descriptor": "^1.0.0" }, @@ -6768,19 +7351,18 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true }, "node_modules/fast-safe-stringify": { "version": "2.0.8", @@ -6809,6 +7391,12 @@ "pend": "~1.2.0" } }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "peer": true + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -6825,14 +7413,12 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, "optional": true }, "node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -6876,6 +7462,102 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -6932,11 +7614,20 @@ "node": ">=0.10.0" } }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -6947,10 +7638,24 @@ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", "dev": true }, + "node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -6982,7 +7687,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, "dependencies": { "map-cache": "^0.2.2" }, @@ -7009,7 +7713,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -7024,6 +7727,26 @@ "from2": "^2.0.3" } }, + "node_modules/fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -7034,6 +7757,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -7048,6 +7772,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, "engines": { "node": ">= 10.0.0" } @@ -7058,11 +7783,22 @@ "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", "dev": true }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "node_modules/fsevents": { "version": "2.3.2", @@ -7137,6 +7873,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/get-random-values": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/get-random-values/-/get-random-values-1.2.2.tgz", @@ -7165,7 +7910,6 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7174,7 +7918,6 @@ "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7194,7 +7937,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "devOptional": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -7281,7 +8024,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, "dependencies": { "ansi-regex": "^2.0.0" }, @@ -7293,7 +8035,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7332,7 +8073,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, "dependencies": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -7346,7 +8086,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, "dependencies": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -7359,7 +8098,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -7371,7 +8109,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -7385,7 +8122,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -7399,12 +8135,36 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, + "node_modules/hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasha/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -7418,7 +8178,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -7435,6 +8194,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, "dependencies": { "whatwg-encoding": "^1.0.5" }, @@ -7551,6 +8311,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, "dependencies": { "@tootallnate/once": "1", "agent-base": "6", @@ -7563,13 +8324,13 @@ "node_modules/https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" }, "node_modules/https-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, "dependencies": { "agent-base": "6", "debug": "4" @@ -7591,7 +8352,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, "funding": [ { "type": "github", @@ -7607,6 +8367,12 @@ } ] }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "peer": true + }, "node_modules/ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", @@ -7652,7 +8418,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, "engines": { "node": ">=0.8.19" } @@ -7666,11 +8431,16 @@ "node": ">=4" } }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "peer": true + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -7679,8 +8449,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/inline-source-map": { "version": "0.6.2", @@ -7716,7 +8485,6 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, "dependencies": { "loose-envify": "^1.0.0" } @@ -7734,7 +8502,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "dependencies": { "kind-of": "^6.0.0" }, @@ -7746,7 +8513,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7785,7 +8551,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, + "devOptional": true, "dependencies": { "binary-extensions": "^1.0.0" }, @@ -7811,8 +8577,7 @@ "node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "node_modules/is-callable": { "version": "1.2.3", @@ -7842,7 +8607,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "dependencies": { "kind-of": "^6.0.0" }, @@ -7854,7 +8618,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7875,7 +8638,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "dependencies": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -7889,7 +8651,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7913,7 +8674,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7922,9 +8682,20 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", "engines": { "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-fullwidth-code-point": { @@ -7952,7 +8723,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, + "devOptional": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -7976,7 +8747,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -8018,7 +8788,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "dependencies": { "isobject": "^3.0.1" }, @@ -8029,7 +8798,8 @@ "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true }, "node_modules/is-regex": { "version": "1.1.3", @@ -8105,6 +8875,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -8121,7 +8897,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -8166,7 +8941,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -8197,6 +8971,50 @@ "istanbul": "lib/cli.js" } }, + "node_modules/istanbul-instrumenter-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz", + "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==", + "dependencies": { + "convert-source-map": "^1.5.0", + "istanbul-lib-instrument": "^1.7.3", + "loader-utils": "^1.1.0", + "schema-utils": "^0.3.0" + }, + "engines": { + "node": ">= 4.8 < 5.0.0 || >= 5.10" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/istanbul-instrumenter-loader/node_modules/istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==" + }, + "node_modules/istanbul-instrumenter-loader/node_modules/istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "dependencies": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" + } + }, + "node_modules/istanbul-instrumenter-loader/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, "node_modules/istanbul-lib-coverage": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", @@ -8206,6 +9024,18 @@ "node": ">=8" } }, + "node_modules/istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "dev": true, + "dependencies": { + "append-transform": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/istanbul-lib-instrument": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", @@ -8221,6 +9051,39 @@ "node": ">=8" } }, + "node_modules/istanbul-lib-processinfo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", + "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "dev": true, + "dependencies": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.0", + "istanbul-lib-coverage": "^3.0.0-alpha.1", + "make-dir": "^3.0.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^3.3.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/istanbul-lib-report": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", @@ -8271,6 +9134,29 @@ "node": ">=8" } }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/istanbul-middleware": { "name": "@stagas/istanbul-middleware", "version": "0.2.2", @@ -8485,8 +9371,7 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "3.14.1", @@ -8505,6 +9390,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.1.tgz", "integrity": "sha512-KrPTolcw6RocpYjdC7pL7v62e55q7qOMHvLX1UCLc5AAS8qeJ6nukarEJAF2KL2PZxlbGueEbINqZR2bDe/gUw==", + "dev": true, "dependencies": { "xmlcreate": "^2.0.3" } @@ -8513,6 +9399,7 @@ "version": "3.6.7", "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.7.tgz", "integrity": "sha512-sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw==", + "dev": true, "dependencies": { "@babel/parser": "^7.9.4", "bluebird": "^3.7.2", @@ -8540,6 +9427,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, "engines": { "node": ">=8" } @@ -8548,6 +9436,7 @@ "version": "16.6.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", + "dev": true, "dependencies": { "abab": "^2.0.5", "acorn": "^8.2.4", @@ -8593,6 +9482,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz", "integrity": "sha1-a9KZwTsMRiay2iwDk81DhdYGrLk=", + "dev": true, "peerDependencies": { "jsdom": ">=10.0.0" } @@ -8601,6 +9491,7 @@ "version": "8.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -8623,14 +9514,12 @@ "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/json-stable-stringify": { "version": "0.0.1", @@ -8666,6 +9555,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, "dependencies": { "universalify": "^2.0.0" }, @@ -8677,6 +9567,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, "engines": { "node": ">= 10.0.0" } @@ -8737,7 +9628,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -8749,6 +9639,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, "dependencies": { "graceful-fs": "^4.1.9" } @@ -8963,6 +9854,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, "dependencies": { "uc.micro": "^1.0.1" } @@ -9097,6 +9989,39 @@ "node": ">=4" } }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "peer": true, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -9129,6 +10054,12 @@ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, "node_modules/lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", @@ -9256,7 +10187,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -9308,7 +10238,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -9321,7 +10250,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, "bin": { "semver": "bin/semver" } @@ -9330,7 +10258,6 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -9354,7 +10281,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, "dependencies": { "object-visit": "^1.0.0" }, @@ -9366,6 +10292,7 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "dev": true, "dependencies": { "argparse": "^1.0.7", "entities": "~2.0.0", @@ -9381,6 +10308,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz", "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==", + "dev": true, "peerDependencies": { "markdown-it": "*" } @@ -9389,6 +10317,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==", + "dev": true, "bin": { "marked": "bin/marked" }, @@ -9406,7 +10335,6 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -9416,7 +10344,8 @@ "node_modules/mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true }, "node_modules/media-typer": { "version": "0.3.0", @@ -9427,6 +10356,16 @@ "node": ">= 0.6" } }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "peer": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, "node_modules/meow": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", @@ -9484,7 +10423,6 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -9508,7 +10446,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -9521,7 +10458,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -9533,7 +10469,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -9542,7 +10477,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -9554,8 +10488,7 @@ "node_modules/miller-rabin/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "node_modules/mime": { "version": "2.5.2", @@ -9573,6 +10506,7 @@ "version": "1.49.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "dev": true, "engines": { "node": ">= 0.6" } @@ -9581,6 +10515,7 @@ "version": "2.1.32", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "dev": true, "dependencies": { "mime-db": "1.49.0" }, @@ -9663,20 +10598,17 @@ "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -9687,8 +10619,7 @@ "node_modules/minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "node_modules/minimist-options": { "version": "3.0.2", @@ -9703,11 +10634,43 @@ "node": ">= 4" } }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "peer": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mississippi/node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "peer": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, "node_modules/mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -9720,7 +10683,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -9732,6 +10694,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -11038,10 +12001,49 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "peer": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/move-concurrently/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "peer": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/multi-stage-sourcemap": { "version": "0.2.1", @@ -11080,7 +12082,6 @@ "version": "2.14.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true, "optional": true }, "node_modules/nanoassert": { @@ -11187,7 +12188,6 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -11209,7 +12209,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -11222,7 +12221,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -11234,7 +12232,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11276,8 +12273,7 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/next-tick": { "version": "1.0.0", @@ -11328,6 +12324,128 @@ "integrity": "sha1-LW5rLs5d6FiLQ9iNG8QbJs0fqE0=", "dev": true }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "peer": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "peer": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/node-libs-browser/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "peer": true + }, + "node_modules/node-libs-browser/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "peer": true + }, + "node_modules/node-libs-browser/node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "peer": true + }, + "node_modules/node-libs-browser/node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "peer": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/node-libs-browser/node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "peer": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/node-libs-browser/node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "peer": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/node-libs-browser/node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "peer": true + }, + "node_modules/node-libs-browser/node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "peer": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dev": true, + "dependencies": { + "process-on-spawn": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/node-releases": { "version": "1.1.73", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", @@ -11371,7 +12489,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -11379,72 +12497,292 @@ "node_modules/nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "node_modules/nyc": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", "dev": true, + "dependencies": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "bin": { + "nyc": "bin/nyc.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.9" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "node_modules/nyc/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/nyc/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "node_modules/nyc/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "node_modules/nyc/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" + } + }, + "node_modules/nyc/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/nyc/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nyc/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nyc/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/nyc/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/object-copy/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -11458,7 +12796,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11485,7 +12822,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, "dependencies": { "isobject": "^3.0.0" }, @@ -11515,7 +12851,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, "dependencies": { "isobject": "^3.0.1" }, @@ -11548,7 +12883,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "dependencies": { "wrappy": "1" } @@ -11601,8 +12935,7 @@ "node_modules/os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" }, "node_modules/outpipe": { "version": "1.1.1", @@ -11643,20 +12976,56 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, "engines": { "node": ">=6" } }, + "node_modules/package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "peer": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } }, "node_modules/parent-module": { "version": "1.0.1", @@ -11683,7 +13052,6 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, "dependencies": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", @@ -11708,7 +13076,8 @@ "node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true }, "node_modules/parseurl": { "version": "1.3.3", @@ -11723,7 +13092,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11738,7 +13106,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "devOptional": true }, "node_modules/path-exists": { "version": "4.0.0", @@ -11753,7 +13121,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11831,7 +13198,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -11853,7 +13219,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8.6" }, @@ -11865,7 +13231,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, "engines": { "node": ">=6" } @@ -11874,7 +13239,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, "dependencies": { "find-up": "^3.0.0" }, @@ -11886,7 +13250,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, "dependencies": { "locate-path": "^3.0.0" }, @@ -11898,7 +13261,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -11911,7 +13273,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, "dependencies": { "p-try": "^2.0.0" }, @@ -11926,7 +13287,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, "dependencies": { "p-limit": "^2.0.0" }, @@ -11938,7 +13298,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, "engines": { "node": ">=4" } @@ -11947,7 +13306,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11983,7 +13341,6 @@ "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, "engines": { "node": ">= 0.6.0" } @@ -11991,8 +13348,19 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dev": true, + "dependencies": { + "fromentries": "^1.2.0" + }, + "engines": { + "node": ">=8" + } }, "node_modules/progress": { "version": "2.0.3", @@ -12003,6 +13371,12 @@ "node": ">=0.4.0" } }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "peer": true + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -12031,16 +13405,22 @@ "node": ">=0.8.0" } }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "peer": true + }, "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true }, "node_modules/public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -12053,14 +13433,45 @@ "node_modules/public-encrypt/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "peer": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "peer": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "peer": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -12069,8 +13480,7 @@ "node_modules/punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "node_modules/puppeteer": { "version": "10.1.0", @@ -12236,7 +13646,6 @@ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, "engines": { "node": ">=0.4.x" } @@ -12245,7 +13654,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true, "engines": { "node": ">=0.4.x" } @@ -12263,7 +13671,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } @@ -12272,7 +13679,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -12413,7 +13819,6 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -12427,20 +13832,17 @@ "node_modules/readable-stream/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/readable-stream/node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -12449,7 +13851,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, + "devOptional": true, "dependencies": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", @@ -12493,8 +13895,7 @@ "node_modules/regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, "node_modules/regenerator-transform": { "version": "0.14.5", @@ -12509,7 +13910,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -12522,7 +13922,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -12535,7 +13934,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -12599,6 +13997,18 @@ "jsesc": "bin/jsesc" } }, + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "dev": true, + "dependencies": { + "es6-error": "^4.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/remove-array-items": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", @@ -12609,13 +14019,12 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "devOptional": true }, "node_modules/repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -12624,11 +14033,21 @@ "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, "engines": { "node": ">=0.10" } }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -12657,6 +14076,7 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz", "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==", + "dev": true, "dependencies": { "lodash": "^4.17.14" } @@ -12757,14 +14177,12 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true + "deprecated": "https://github.com/lydell/resolve-url#deprecated" }, "node_modules/ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, "engines": { "node": ">=0.12" } @@ -12788,17 +14206,24 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "peer": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, "funding": [ { "type": "github", @@ -12818,7 +14243,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, "dependencies": { "ret": "~0.1.10" } @@ -12878,6 +14302,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, "dependencies": { "xmlchars": "^2.2.0" }, @@ -12885,6 +14310,38 @@ "node": ">=10" } }, + "node_modules/schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dependencies": { + "ajv": "^5.0.0" + }, + "engines": { + "node": ">= 4.3 < 5.0.0 || >= 5.10" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/schema-utils/node_modules/fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, "node_modules/scope-analyzer": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/scope-analyzer/-/scope-analyzer-2.1.1.tgz", @@ -13100,7 +14557,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -13111,6 +14567,12 @@ "node": ">=0.10.0" } }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "peer": true + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -13121,7 +14583,6 @@ "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -13318,7 +14779,6 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", @@ -13337,7 +14797,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -13351,7 +14810,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "dependencies": { "is-descriptor": "^1.0.0" }, @@ -13363,7 +14821,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, "dependencies": { "kind-of": "^3.2.0" }, @@ -13375,7 +14832,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "dependencies": { "ms": "2.0.0" } @@ -13384,7 +14840,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -13396,7 +14851,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -13408,7 +14862,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -13420,7 +14873,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -13434,7 +14886,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -13442,14 +14893,18 @@ "node_modules/snapdragon/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "peer": true }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -13458,7 +14913,6 @@ "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -13471,7 +14925,6 @@ "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -13481,7 +14934,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -13489,8 +14941,7 @@ "node_modules/source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" }, "node_modules/source-mapper": { "version": "2.1.0", @@ -13512,6 +14963,38 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, + "node_modules/spawn-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "dev": true, + "dependencies": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/spawn-wrap/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -13560,7 +15043,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, "dependencies": { "extend-shallow": "^3.0.0" }, @@ -13572,7 +15054,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -13585,7 +15066,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -13639,13 +15119,22 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "peer": true, + "dependencies": { + "figgy-pudding": "^3.5.1" + } }, "node_modules/static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -13658,7 +15147,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -13670,7 +15158,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -13682,7 +15169,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -13694,7 +15180,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -13708,7 +15193,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -13765,6 +15249,16 @@ "readable-stream": "^2.0.2" } }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "peer": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, "node_modules/stream-http": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", @@ -13794,8 +15288,7 @@ "node_modules/stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" }, "node_modules/stream-splicer": { "version": "2.0.1", @@ -13811,7 +15304,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, "dependencies": { "safe-buffer": "~5.2.0" } @@ -13890,6 +15382,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, "engines": { "node": ">=8" }, @@ -14000,7 +15493,8 @@ "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true }, "node_modules/syntax-error": { "version": "1.4.0", @@ -14053,7 +15547,17 @@ "node_modules/taffydb": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=" + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "dev": true + }, + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "peer": true, + "engines": { + "node": ">=6" + } }, "node_modules/tar-fs": { "version": "2.0.0", @@ -14187,7 +15691,6 @@ "version": "4.8.0", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, "dependencies": { "commander": "^2.20.0", "source-map": "~0.6.1", @@ -14200,21 +15703,111 @@ "node": ">=6.0.0" } }, + "node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "peer": true, + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "peer": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "peer": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "node_modules/terser/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -14231,7 +15824,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -14278,6 +15870,12 @@ "readable-stream": "2 || 3" } }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "peer": true + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -14291,7 +15889,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -14303,7 +15900,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -14318,7 +15914,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -14331,7 +15926,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -14344,7 +15938,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -14365,6 +15958,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -14378,6 +15972,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, "engines": { "node": ">=6" } @@ -14386,6 +15981,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, "dependencies": { "punycode": "^2.1.1" }, @@ -14397,6 +15993,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, "engines": { "node": ">=6" } @@ -14448,6 +16045,14 @@ "node": ">=4" } }, + "node_modules/trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/tslib": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", @@ -14524,13 +16129,22 @@ "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } }, "node_modules/uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true }, "node_modules/uglify-js": { "version": "3.14.1", @@ -14784,7 +16398,8 @@ "node_modules/underscore": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" + "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", + "dev": true }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "1.0.4", @@ -14830,7 +16445,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -14841,10 +16455,29 @@ "node": ">=0.10.0" } }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "peer": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, "engines": { "node": ">= 4.0.0" } @@ -14868,7 +16501,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -14881,7 +16513,6 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, "dependencies": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -14895,7 +16526,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, "dependencies": { "isarray": "1.0.0" }, @@ -14907,7 +16537,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -14915,14 +16544,13 @@ "node_modules/unset-value/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, + "devOptional": true, "engines": { "node": ">=4", "yarn": "*" @@ -14932,7 +16560,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -14941,7 +16568,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, "engines": { "node": ">=6" } @@ -14950,14 +16576,12 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true + "deprecated": "Please see https://github.com/lydell/urix#deprecated" }, "node_modules/url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -14972,14 +16596,12 @@ "node_modules/url/node_modules/punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" }, "node_modules/use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -15001,8 +16623,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "node_modules/utils-merge": { "version": "1.0.1", @@ -15051,13 +16672,13 @@ "node_modules/vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, "dependencies": { "browser-process-hrtime": "^1.0.0" } @@ -15065,12 +16686,14 @@ "node_modules/w3c-hr-time/node_modules/browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true }, "node_modules/w3c-xmlserializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, "dependencies": { "xml-name-validator": "^3.0.0" }, @@ -15135,25 +16758,236 @@ "readable-stream": "3" } }, - "node_modules/webcrypto-core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.2.0.tgz", - "integrity": "sha512-p76Z/YLuE4CHCRdc49FB/ETaM4bzM3roqWNJeGs+QNY1fOTzKTOVnhmudW1fuO+5EZg6/4LG9NJ6gaAyxTk9XQ==", - "dev": true, + "node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "peer": true, "dependencies": { - "@peculiar/asn1-schema": "^2.0.27", - "@peculiar/json-schema": "^1.1.12", - "asn1js": "^2.0.26", - "pvtsutils": "^1.1.2", - "tslib": "^2.1.0" - } - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "engines": { - "node": ">=10.4" + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "optional": true, + "peer": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", + "optional": true, + "peer": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "optional": true, + "peer": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "optional": true, + "peer": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webcrypto-core": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.2.0.tgz", + "integrity": "sha512-p76Z/YLuE4CHCRdc49FB/ETaM4bzM3roqWNJeGs+QNY1fOTzKTOVnhmudW1fuO+5EZg6/4LG9NJ6gaAyxTk9XQ==", + "dev": true, + "dependencies": { + "@peculiar/asn1-schema": "^2.0.27", + "@peculiar/json-schema": "^1.1.12", + "asn1js": "^2.0.26", + "pvtsutils": "^1.1.2", + "tslib": "^2.1.0" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "peer": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "peer": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "peer": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "peer": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" } }, "node_modules/websocket-driver": { @@ -15183,6 +17017,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, "dependencies": { "iconv-lite": "0.4.24" } @@ -15191,6 +17026,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -15201,12 +17037,14 @@ "node_modules/whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true }, "node_modules/whatwg-url": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, "dependencies": { "lodash": "^4.7.0", "tr46": "^2.1.0", @@ -15330,6 +17168,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -15340,6 +17179,15 @@ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "peer": true, + "dependencies": { + "errno": "~0.1.7" + } + }, "node_modules/workerpool": { "version": "6.1.5", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz", @@ -15405,13 +17253,25 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } }, "node_modules/ws": { "version": "7.5.3", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", + "dev": true, "engines": { "node": ">=8.3.0" }, @@ -15431,23 +17291,25 @@ "node_modules/xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true }, "node_modules/xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true }, "node_modules/xmlcreate": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.3.tgz", - "integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ==" + "integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ==", + "dev": true }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, "engines": { "node": ">=0.4" } @@ -15942,7 +17804,8 @@ "@babel/parser": { "version": "7.14.8", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz", - "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==" + "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==", + "dev": true }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.14.5", @@ -16848,6 +18711,70 @@ "integrity": "sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==", "dev": true }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, "@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -17078,7 +19005,8 @@ "@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true }, "@types/accepts": { "version": "1.3.5", @@ -17313,43 +19241,233 @@ "parse5": "^6.0.1" } }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "peer": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } }, - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "peer": true }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "peer": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "peer": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "peer": true, "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "@webassemblyjs/wast-printer": "1.9.0" } }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "peer": true }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "peer": true, "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" + "@webassemblyjs/ast": "1.9.0" } }, - "acorn-jsx": { - "version": "5.3.2", + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "peer": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "peer": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "peer": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "peer": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "peer": true + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-jsx": { + "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, @@ -17369,21 +19487,40 @@ "acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true }, "agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, "requires": { "debug": "4" } }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "dependencies": { + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + } + } + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -17391,6 +19528,20 @@ "uri-js": "^4.2.2" } }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "peer": true, + "requires": {} + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peer": true, + "requires": {} + }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -17434,7 +19585,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, + "devOptional": true, "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" @@ -17444,7 +19595,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, + "devOptional": true, "requires": { "remove-trailing-separator": "^1.0.1" } @@ -17466,6 +19617,21 @@ "integrity": "sha512-JtHjzZmJxtzfTSjsCyHgPR155HBe5WGyUyHTaEkfy46qhwCFKx1Epm6nAxgUG3WfUZP1dWhGqj9Z2NOBeZ+uBw==", "dev": true }, + "append-transform": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "dev": true, + "requires": { + "default-require-extensions": "^3.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "peer": true + }, "archiver": { "version": "0.14.4", "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz", @@ -17535,10 +19701,17 @@ } } }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -17546,20 +19719,17 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, "array-find-index": { "version": "1.0.2", @@ -17582,8 +19752,7 @@ "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, "arrify": { "version": "1.0.1", @@ -17595,7 +19764,6 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -17606,8 +19774,7 @@ "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -17624,7 +19791,6 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, "requires": { "object-assign": "^4.1.1", "util": "0.10.3" @@ -17633,14 +19799,12 @@ "inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" }, "util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, "requires": { "inherits": "2.0.1" } @@ -17656,8 +19820,7 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, "astral-regex": { "version": "2.0.0", @@ -17675,23 +19838,24 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true + "devOptional": true }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "available-typed-arrays": { "version": "1.0.4", @@ -17703,7 +19867,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, "requires": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -17713,20 +19876,17 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -17738,14 +19898,12 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -17753,8 +19911,29 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" } } }, @@ -17889,7 +20068,6 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -17912,6 +20090,19 @@ "object.assign": "^4.1.0" } }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, "babel-plugin-polyfill-corejs2": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", @@ -18351,7 +20542,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" @@ -18361,7 +20551,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, "requires": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", @@ -18374,7 +20563,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, "requires": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", @@ -18391,7 +20579,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -18399,14 +20586,12 @@ "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -18414,7 +20599,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, "requires": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", @@ -18425,8 +20609,7 @@ "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" } } }, @@ -18440,20 +20623,17 @@ "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -18468,7 +20648,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -18478,8 +20657,7 @@ "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "basic-auth": { "version": "2.0.1", @@ -18510,17 +20688,21 @@ "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=", "dev": true }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true + "devOptional": true }, "bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, "optional": true, "requires": { "file-uri-to-path": "1.0.0" @@ -18569,8 +20751,7 @@ "bn.js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" }, "body-parser": { "version": "1.12.4", @@ -18631,7 +20812,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -18641,7 +20821,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -18658,8 +20837,7 @@ "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" }, "brout": { "version": "1.3.0", @@ -18817,7 +20995,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -18831,7 +21008,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, "requires": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -18842,7 +21018,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, "requires": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -18854,7 +21029,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, "requires": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" @@ -18864,7 +21038,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, "requires": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", @@ -18881,7 +21054,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -18894,7 +21066,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, "requires": { "pako": "~1.0.5" } @@ -18937,20 +21108,17 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" }, "bundle-collapser": { "version": "1.4.0", @@ -18972,11 +21140,74 @@ "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=", "dev": true }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "peer": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "peer": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "peer": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "peer": true, + "requires": { + "glob": "^7.1.3" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "peer": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "peer": true + } + } + }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -19005,6 +21236,29 @@ "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", "dev": true }, + "caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "dev": true, + "requires": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + } + } + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -19059,6 +21313,7 @@ "version": "0.9.0", "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "dev": true, "requires": { "lodash": "^4.17.15" } @@ -19077,6 +21332,13 @@ "type-detect": "^4.0.5" } }, + "chai-dom": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/chai-dom/-/chai-dom-1.9.0.tgz", + "integrity": "sha512-UXSbhcGVBWv/5qVqbJY/giTDRyo3wKapUsWluEuVvxcJLFXkyf8l4D2PTd6trzrmca6WWnGdpaFkYdl1P0WjtA==", + "dev": true, + "requires": {} + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -19104,7 +21366,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, + "devOptional": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -19120,7 +21382,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, + "devOptional": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -19130,13 +21392,13 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true + "devOptional": true }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, + "devOptional": true, "requires": { "fill-range": "^7.0.1" } @@ -19145,7 +21407,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, + "devOptional": true, "requires": { "to-regex-range": "^5.0.1" } @@ -19154,7 +21416,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, + "devOptional": true, "requires": { "binary-extensions": "^2.0.0" } @@ -19163,13 +21425,13 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "devOptional": true }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, + "devOptional": true, "requires": { "picomatch": "^2.2.1" } @@ -19178,7 +21440,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, + "devOptional": true, "requires": { "is-number": "^7.0.0" } @@ -19188,8 +21450,7 @@ "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "chrome-launcher": { "version": "0.11.2", @@ -19248,6 +21509,12 @@ } } }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "peer": true + }, "chrome-unmirror": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/chrome-unmirror/-/chrome-unmirror-0.1.0.tgz", @@ -19258,7 +21525,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -19268,7 +21534,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -19280,7 +21545,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -19289,7 +21553,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -19298,7 +21561,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -19307,7 +21569,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -19317,8 +21578,7 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } } @@ -19328,11 +21588,18 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/clean-jsdoc-theme/-/clean-jsdoc-theme-3.2.7.tgz", "integrity": "sha512-G/jpIIFY0aZ0ey3A81DRKRd+IG64yco/uwAITHtrZd9X2GHiQOFhT4yDymKTCxrsd/dainhFsF1E6ochGJBjRQ==", + "dev": true, "requires": { "fs-extra": "^9.1.0" } }, - "cliui": { + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", @@ -19352,14 +21619,12 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -19416,6 +21681,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -19439,11 +21705,15 @@ "wrap-comment": "^1.0.1" } }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "compress-commons": { "version": "0.2.9", @@ -19486,14 +21756,12 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -19533,8 +21801,7 @@ "console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" }, "consolify": { "version": "2.2.0", @@ -19552,8 +21819,7 @@ "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, "content-disposition": { "version": "0.5.3", @@ -19582,7 +21848,6 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, "requires": { "safe-buffer": "~5.1.1" }, @@ -19590,8 +21855,7 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" } } }, @@ -19623,17 +21887,49 @@ "keygrip": "~1.1.0" } }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "peer": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "peer": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "peer": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "dev": true + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" }, "core-js-compat": { "version": "3.15.2", @@ -19656,8 +21952,7 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cors": { "version": "2.8.5", @@ -19782,7 +22077,6 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, "requires": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -19791,8 +22085,7 @@ "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -19800,7 +22093,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -19813,7 +22105,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, "requires": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -19844,7 +22135,6 @@ "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, "requires": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -19862,12 +22152,14 @@ "cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true }, "cssstyle": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, "requires": { "cssom": "~0.3.6" }, @@ -19875,7 +22167,8 @@ "cssom": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true } } }, @@ -19888,6 +22181,12 @@ "array-find-index": "^1.0.1" } }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "peer": true + }, "d": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", @@ -19908,6 +22207,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, "requires": { "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", @@ -19918,6 +22218,7 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, "requires": { "ms": "2.1.2" } @@ -19949,13 +22250,13 @@ "decimal.js": { "version": "10.3.1", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" + "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", + "dev": true }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, "dedent": { "version": "0.7.0", @@ -19990,7 +22291,25 @@ "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "default-require-extensions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", + "dev": true, + "requires": { + "strip-bom": "^4.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + } + } }, "define-properties": { "version": "1.1.3", @@ -20005,7 +22324,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -20020,7 +22338,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, "delegates": { "version": "1.0.0", @@ -20050,7 +22369,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, "requires": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -20062,6 +22380,14 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "^2.0.0" + } + }, "detective": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", @@ -20089,7 +22415,6 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, "requires": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -20099,8 +22424,7 @@ "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -20128,13 +22452,13 @@ "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" }, "domexception": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, "requires": { "webidl-conversions": "^5.0.0" }, @@ -20142,7 +22466,8 @@ "webidl-conversions": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true } } }, @@ -20202,7 +22527,6 @@ "version": "6.5.4", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, "requires": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -20216,8 +22540,7 @@ "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -20227,6 +22550,11 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -20237,11 +22565,33 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "requires": { "once": "^1.4.0" } }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "peer": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, "enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -20254,7 +22604,17 @@ "entities": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "peer": true, + "requires": { + "prr": "~1.0.1" + } }, "error-ex": { "version": "1.3.2", @@ -20317,6 +22677,12 @@ "next-tick": "~1.0.0" } }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, "es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", @@ -20419,13 +22785,13 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, "requires": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -20437,12 +22803,14 @@ "estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, "requires": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -20452,6 +22820,7 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, "requires": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -20464,18 +22833,21 @@ "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "optional": true }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, "requires": { "prelude-ls": "~1.1.2" } @@ -20687,7 +23059,8 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, "espurify": { "version": "2.1.1", @@ -20716,7 +23089,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, "requires": { "estraverse": "^5.2.0" }, @@ -20724,16 +23096,14 @@ "estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" } } }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, "estree-is-function": { "version": "1.0.0", @@ -20801,14 +23171,12 @@ "events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" }, "evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, "requires": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -20830,7 +23198,6 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -20845,7 +23212,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -20854,7 +23220,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -20863,7 +23228,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -20872,7 +23236,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -20881,7 +23244,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -20891,16 +23253,14 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -21082,7 +23442,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -21091,7 +23450,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -21107,7 +23465,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -21152,19 +23509,18 @@ "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true }, "fast-safe-stringify": { "version": "2.0.8", @@ -21190,6 +23546,12 @@ "pend": "~1.2.0" } }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "peer": true + }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -21203,14 +23565,12 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, "optional": true }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -21250,6 +23610,74 @@ } } }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + } + } + }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -21288,11 +23716,20 @@ "integrity": "sha512-KEEsKV7/bePZM3Ja7rYlAaSx8GPiTGr7pt0IJcX5S3GSEIZ2ieayF6JWNjbyLiu7ZUJuWe4ITDnPvyqimUpYww==", "dev": true }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "peer": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "foreach": { "version": "2.0.5", @@ -21300,10 +23737,21 @@ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", "dev": true }, + "foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + } + }, "form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -21326,7 +23774,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, "requires": { "map-cache": "^0.2.2" } @@ -21347,7 +23794,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -21362,6 +23808,12 @@ "from2": "^2.0.3" } }, + "fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "dev": true + }, "fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -21372,6 +23824,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -21382,7 +23835,8 @@ "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true } } }, @@ -21392,11 +23846,22 @@ "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", "dev": true }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "2.3.2", @@ -21452,6 +23917,12 @@ "has-symbols": "^1.0.1" } }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, "get-random-values": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/get-random-values/-/get-random-values-1.2.2.tgz", @@ -21470,14 +23941,12 @@ "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, "glob": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -21491,7 +23960,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "devOptional": true, "requires": { "is-glob": "^4.0.1" } @@ -21557,7 +24026,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" }, @@ -21565,8 +24033,7 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" } } }, @@ -21592,7 +24059,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -21603,7 +24069,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -21613,7 +24078,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -21624,7 +24088,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, "requires": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -21635,7 +24098,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -21648,12 +24110,29 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, "requires": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, + "hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "dev": true, + "requires": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -21664,7 +24143,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, "requires": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -21681,6 +24159,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, "requires": { "whatwg-encoding": "^1.0.5" } @@ -21777,6 +24256,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, "requires": { "@tootallnate/once": "1", "agent-base": "6", @@ -21786,13 +24266,13 @@ "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" }, "https-proxy-agent": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, "requires": { "agent-base": "6", "debug": "4" @@ -21807,8 +24287,13 @@ "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "peer": true }, "ignore": { "version": "4.0.6", @@ -21839,8 +24324,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "indent-string": { "version": "3.2.0", @@ -21848,11 +24332,16 @@ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", "dev": true }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "peer": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -21861,8 +24350,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "inline-source-map": { "version": "0.6.2", @@ -21895,7 +24383,6 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, "requires": { "loose-envify": "^1.0.0" } @@ -21910,7 +24397,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" }, @@ -21918,8 +24404,7 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" } } }, @@ -21948,7 +24433,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, + "devOptional": true, "requires": { "binary-extensions": "^1.0.0" } @@ -21965,8 +24450,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-callable": { "version": "1.2.3", @@ -21987,7 +24471,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, "requires": { "kind-of": "^6.0.0" }, @@ -21995,8 +24478,7 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" } } }, @@ -22010,7 +24492,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -22020,8 +24501,7 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" } } }, @@ -22034,14 +24514,18 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "devOptional": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -22059,7 +24543,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, + "devOptional": true, "requires": { "is-extglob": "^2.1.1" } @@ -22074,7 +24558,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -22101,7 +24584,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "requires": { "isobject": "^3.0.1" } @@ -22109,7 +24591,8 @@ "is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true }, "is-regex": { "version": "1.1.3", @@ -22155,6 +24638,12 @@ "has-symbols": "^1.0.1" } }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, "is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -22164,8 +24653,7 @@ "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, "is-wsl": { "version": "2.2.0", @@ -22197,8 +24685,7 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "istanbul": { "version": "0.4.5", @@ -22356,12 +24843,58 @@ } } }, + "istanbul-instrumenter-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz", + "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==", + "requires": { + "convert-source-map": "^1.5.0", + "istanbul-lib-instrument": "^1.7.3", + "loader-utils": "^1.1.0", + "schema-utils": "^0.3.0" + }, + "dependencies": { + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==" + }, + "istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "requires": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, "istanbul-lib-coverage": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", "dev": true }, + "istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "dev": true, + "requires": { + "append-transform": "^2.0.0" + } + }, "istanbul-lib-instrument": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", @@ -22374,6 +24907,32 @@ "semver": "^6.3.0" } }, + "istanbul-lib-processinfo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", + "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "dev": true, + "requires": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.0", + "istanbul-lib-coverage": "^3.0.0-alpha.1", + "make-dir": "^3.0.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^3.3.3" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + } + } + }, "istanbul-lib-report": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", @@ -22411,6 +24970,25 @@ } } }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "istanbul-middleware": { "version": "npm:@stagas/istanbul-middleware@0.2.2", "resolved": "https://registry.npmjs.org/@stagas/istanbul-middleware/-/istanbul-middleware-0.2.2.tgz", @@ -22437,8 +25015,7 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.14.1", @@ -22454,6 +25031,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.1.tgz", "integrity": "sha512-KrPTolcw6RocpYjdC7pL7v62e55q7qOMHvLX1UCLc5AAS8qeJ6nukarEJAF2KL2PZxlbGueEbINqZR2bDe/gUw==", + "dev": true, "requires": { "xmlcreate": "^2.0.3" } @@ -22462,6 +25040,7 @@ "version": "3.6.7", "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.7.tgz", "integrity": "sha512-sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw==", + "dev": true, "requires": { "@babel/parser": "^7.9.4", "bluebird": "^3.7.2", @@ -22482,7 +25061,8 @@ "escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true } } }, @@ -22490,6 +25070,7 @@ "version": "16.6.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", + "dev": true, "requires": { "abab": "^2.0.5", "acorn": "^8.2.4", @@ -22523,7 +25104,8 @@ "acorn": { "version": "8.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==" + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", + "dev": true } } }, @@ -22531,6 +25113,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz", "integrity": "sha1-a9KZwTsMRiay2iwDk81DhdYGrLk=", + "dev": true, "requires": {} }, "jsesc": { @@ -22542,14 +25125,12 @@ "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stable-stringify": { "version": "0.0.1", @@ -22579,6 +25160,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" @@ -22587,7 +25169,8 @@ "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true } } }, @@ -22632,7 +25215,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -22641,6 +25223,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, "requires": { "graceful-fs": "^4.1.9" } @@ -22847,6 +25430,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, "requires": { "uc.micro": "^1.0.1" } @@ -22958,6 +25542,32 @@ } } }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "peer": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -22984,6 +25594,12 @@ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", + "dev": true + }, "lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", @@ -23079,7 +25695,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -23122,7 +25737,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, "requires": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -23131,16 +25745,14 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, "map-obj": { "version": "2.0.0", @@ -23158,7 +25770,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, "requires": { "object-visit": "^1.0.0" } @@ -23167,6 +25778,7 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "dev": true, "requires": { "argparse": "^1.0.7", "entities": "~2.0.0", @@ -23179,12 +25791,14 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz", "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==", + "dev": true, "requires": {} }, "marked": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", - "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==" + "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==", + "dev": true }, "marky": { "version": "1.2.2", @@ -23196,7 +25810,6 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -23206,7 +25819,8 @@ "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true }, "media-typer": { "version": "0.3.0", @@ -23214,6 +25828,16 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "peer": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, "meow": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", @@ -23267,7 +25891,6 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -23288,7 +25911,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -23298,7 +25920,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -23306,8 +25927,7 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" } } }, @@ -23315,7 +25935,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -23324,8 +25943,7 @@ "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -23338,12 +25956,14 @@ "mime-db": { "version": "1.49.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "dev": true }, "mime-types": { "version": "2.1.32", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "dev": true, "requires": { "mime-db": "1.49.0" } @@ -23413,20 +26033,17 @@ "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -23434,8 +26051,7 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minimist-options": { "version": "3.0.2", @@ -23447,11 +26063,42 @@ "is-plain-obj": "^1.1.0" } }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "peer": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "dependencies": { + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "peer": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + } + } + }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -23461,7 +26108,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -23471,7 +26117,8 @@ "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true }, "mkdirp-classic": { "version": "0.5.3", @@ -24474,10 +27121,45 @@ } } }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "peer": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "peer": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "peer": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "multi-stage-sourcemap": { "version": "0.2.1", @@ -24515,7 +27197,6 @@ "version": "2.14.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true, "optional": true }, "nanoassert": { @@ -24599,7 +27280,6 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -24618,7 +27298,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -24628,7 +27307,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -24636,8 +27314,7 @@ "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" } } }, @@ -24675,8 +27352,7 @@ "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "next-tick": { "version": "1.0.0", @@ -24703,86 +27379,379 @@ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "requires": { + "isarray": "0.0.1" + } + } + } + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true + }, + "node-int64": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz", + "integrity": "sha1-LW5rLs5d6FiLQ9iNG8QbJs0fqE0=", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "peer": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "peer": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "peer": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "peer": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "peer": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "peer": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "peer": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "peer": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "peer": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "peer": true, + "requires": { + "inherits": "2.0.3" + } + } + } + }, + "node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dev": true, + "requires": { + "process-on-spawn": "^1.0.0" + } + }, + "node-releases": { + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "dev": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "devOptional": true + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "nyc": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "dev": true, + "requires": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { - "isarray": "0.0.1" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "dev": true - }, - "node-int64": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz", - "integrity": "sha1-LW5rLs5d6FiLQ9iNG8QbJs0fqE0=", - "dev": true - }, - "node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -24793,7 +27762,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -24802,7 +27770,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -24811,7 +27778,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -24820,7 +27786,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -24830,8 +27795,7 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } } @@ -24853,7 +27817,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, "requires": { "isobject": "^3.0.0" } @@ -24874,7 +27837,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, "requires": { "isobject": "^3.0.1" } @@ -24898,7 +27860,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -24943,8 +27904,7 @@ "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" }, "outpipe": { "version": "1.1.1", @@ -24973,17 +27933,47 @@ "p-limit": "^3.0.2" } }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + } }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "peer": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } }, "parent-module": { "version": "1.0.1", @@ -25007,7 +27997,6 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, "requires": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", @@ -25029,7 +28018,8 @@ "parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true }, "parseurl": { "version": "1.3.3", @@ -25040,8 +28030,7 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, "path-browserify": { "version": "1.0.1", @@ -25053,7 +28042,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "devOptional": true }, "path-exists": { "version": "4.0.0", @@ -25064,8 +28053,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-key": { "version": "3.1.1", @@ -25127,7 +28115,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -25146,19 +28133,17 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true + "devOptional": true }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, "requires": { "find-up": "^3.0.0" }, @@ -25167,7 +28152,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, "requires": { "locate-path": "^3.0.0" } @@ -25176,7 +28160,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -25186,7 +28169,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, "requires": { "p-try": "^2.0.0" } @@ -25195,7 +28177,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, "requires": { "p-limit": "^2.0.0" } @@ -25203,16 +28184,14 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" } } }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "prelude-ls": { "version": "1.2.1", @@ -25235,14 +28214,21 @@ "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dev": true, + "requires": { + "fromentries": "^1.2.0" + } }, "progress": { "version": "2.0.3", @@ -25250,6 +28236,12 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "peer": true + }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -25272,16 +28264,22 @@ "integrity": "sha1-o/3xvvtzD5UZZYcqwvYHTGFHelY=", "dev": true }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "peer": true + }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true }, "public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, "requires": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -25294,8 +28292,7 @@ "bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -25303,17 +28300,50 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "peer": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "peer": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "peer": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "puppeteer": { "version": "10.1.0", @@ -25429,14 +28459,12 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "quick-lru": { "version": "1.1.0", @@ -25448,7 +28476,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -25457,7 +28484,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, "requires": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -25572,7 +28598,6 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -25586,20 +28611,17 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -25610,7 +28632,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, + "devOptional": true, "requires": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", @@ -25645,8 +28667,7 @@ "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, "regenerator-transform": { "version": "0.14.5", @@ -25661,7 +28682,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -25671,7 +28691,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -25681,7 +28700,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -25731,6 +28749,15 @@ } } }, + "release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", + "dev": true, + "requires": { + "es6-error": "^4.0.1" + } + }, "remove-array-items": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz", @@ -25741,19 +28768,25 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "devOptional": true }, "repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } }, "require-directory": { "version": "2.1.1", @@ -25777,6 +28810,7 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz", "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==", + "dev": true, "requires": { "lodash": "^4.17.14" } @@ -25859,14 +28893,12 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, "rimraf": { "version": "3.0.2", @@ -25881,23 +28913,29 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "peer": true, + "requires": { + "aproba": "^1.1.1" + } + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, "requires": { "ret": "~0.1.10" } @@ -25950,10 +28988,42 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, "requires": { "xmlchars": "^2.2.0" } }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "requires": { + "ajv": "^5.0.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + } + } + }, "scope-analyzer": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/scope-analyzer/-/scope-analyzer-2.1.1.tgz", @@ -26145,7 +29215,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -26153,6 +29222,12 @@ "split-string": "^3.0.1" } }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "peer": true + }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -26163,7 +29238,6 @@ "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -26310,7 +29384,6 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -26326,7 +29399,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -26335,7 +29407,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -26344,7 +29415,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -26353,7 +29423,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -26362,7 +29431,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -26372,16 +29440,14 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -26389,7 +29455,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -26400,7 +29465,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -26411,22 +29475,25 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, "requires": { "kind-of": "^3.2.0" } }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "peer": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -26439,7 +29506,6 @@ "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -26448,16 +29514,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, "source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" }, "source-mapper": { "version": "2.1.0", @@ -26470,12 +29534,37 @@ "through2": "^2.0.0" } }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "spawn-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "dev": true, + "requires": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + } + } + }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -26521,7 +29610,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, "requires": { "extend-shallow": "^3.0.0" }, @@ -26530,7 +29618,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -26540,7 +29627,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -26595,13 +29681,22 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "peer": true, + "requires": { + "figgy-pudding": "^3.5.1" + } }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -26611,7 +29706,6 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -26620,7 +29714,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -26629,7 +29722,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -26638,7 +29730,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -26648,8 +29739,7 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" } } } @@ -26703,6 +29793,16 @@ "readable-stream": "^2.0.2" } }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "peer": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, "stream-http": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", @@ -26731,8 +29831,7 @@ "stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" }, "stream-splicer": { "version": "2.0.1", @@ -26748,7 +29847,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, "requires": { "safe-buffer": "~5.2.0" } @@ -26808,7 +29906,8 @@ "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true }, "subarg": { "version": "1.0.0", @@ -26891,7 +29990,8 @@ "symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true }, "syntax-error": { "version": "1.4.0", @@ -26939,7 +30039,14 @@ "taffydb": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=" + "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", + "dev": true + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "peer": true }, "tar-fs": { "version": "2.0.0", @@ -27051,7 +30158,6 @@ "version": "4.8.0", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, "requires": { "commander": "^2.20.0", "source-map": "~0.6.1", @@ -27061,17 +30167,88 @@ "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "peer": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "peer": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "peer": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "peer": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "peer": true } } }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -27088,7 +30265,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -27134,6 +30310,12 @@ } } }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "peer": true + }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -27144,7 +30326,6 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, "requires": { "kind-of": "^3.0.2" } @@ -27153,7 +30334,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -27165,7 +30345,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -27175,7 +30354,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -27186,7 +30364,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -27202,6 +30379,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -27211,7 +30389,8 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true } } }, @@ -27219,6 +30398,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, "requires": { "punycode": "^2.1.1" }, @@ -27226,7 +30406,8 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true } } }, @@ -27259,6 +30440,11 @@ "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", "dev": true }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, "tslib": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", @@ -27317,13 +30503,22 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } }, "uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true }, "uglify-js": { "version": "3.14.1", @@ -27521,7 +30716,8 @@ "underscore": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" + "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", + "dev": true }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", @@ -27555,7 +30751,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -27563,10 +30758,29 @@ "set-value": "^2.0.1" } }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "peer": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "peer": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true }, "unix-crypt-td-js": { "version": "1.1.4", @@ -27584,7 +30798,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -27594,7 +30807,6 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -27605,7 +30817,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, "requires": { "isarray": "1.0.0" } @@ -27615,14 +30826,12 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" } } }, @@ -27630,13 +30839,12 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "devOptional": true }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "requires": { "punycode": "^2.1.0" }, @@ -27644,22 +30852,19 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" } } }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -27668,8 +30873,7 @@ "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" } } }, @@ -27682,8 +30886,7 @@ "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, "util": { "version": "0.12.4", @@ -27702,8 +30905,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "utils-merge": { "version": "1.0.1", @@ -27742,13 +30944,13 @@ "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, "requires": { "browser-process-hrtime": "^1.0.0" }, @@ -27756,7 +30958,8 @@ "browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true } } }, @@ -27764,6 +30967,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, "requires": { "xml-name-validator": "^3.0.0" } @@ -27815,6 +31019,85 @@ } } }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "peer": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "optional": true, + "peer": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "optional": true, + "peer": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "peer": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "optional": true, + "peer": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "optional": true, + "peer": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } + } + }, "webcrypto-core": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.2.0.tgz", @@ -27831,7 +31114,95 @@ "webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "peer": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "peer": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "peer": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "peer": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "peer": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "peer": true + } + } }, "websocket-driver": { "version": "0.7.4", @@ -27854,6 +31225,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, "requires": { "iconv-lite": "0.4.24" }, @@ -27862,6 +31234,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -27871,12 +31244,14 @@ "whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true }, "whatwg-url": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dev": true, "requires": { "lodash": "^4.7.0", "tr46": "^2.1.0", @@ -27971,7 +31346,8 @@ "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true }, "wordwrap": { "version": "1.0.0", @@ -27979,6 +31355,15 @@ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "peer": true, + "requires": { + "errno": "~0.1.7" + } + }, "workerpool": { "version": "6.1.5", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz", @@ -28031,35 +31416,49 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } }, "ws": { "version": "7.5.3", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", + "dev": true, "requires": {} }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true }, "xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true }, "xmlcreate": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.3.tgz", - "integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ==" + "integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ==", + "dev": true }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { "version": "5.0.8", diff --git a/package.json b/package.json index d69f2e2f6..fe67e022b 100644 --- a/package.json +++ b/package.json @@ -19,12 +19,15 @@ "@jsenv/node-module-import-map": "^13.6.0", "@peculiar/webcrypto": "^1.1.7", "@web/dev-server-import-maps": "^0.0.5", + "babel-plugin-istanbul": "^6.0.0", "babel-plugin-source-map-support": "^2.1.3", "babel-preset-env": "^1.7.0", "babelify": "^10.0.0", "browserify": "^17.0.0", "btoa": "^1.2.1", "chai": "^4.3.4", + "chai-dom": "^1.9.0", + "clean-jsdoc-theme": "^3.2.7", "crypt": "^0.0.2", "docdash": "^1.2.0", "eslint": "^7.28.0", @@ -34,10 +37,12 @@ "get-random-values": "^1.2.2", "jsdoc": "^3.6.7", "jsdom": "^16.6.0", + "jsdom-global": "^3.0.2", "lstat": "^1.0.0", "mocha": "^9.0.2", "mocha-headless": "^8.0.0", "mochify": "^8.1.0", + "nyc": "^15.1.0", "process": "^0.11.10", "sinon": "^11.1.1", "supertest": "^6.1.4", @@ -48,7 +53,6 @@ "webcrypto-core": "^1.2.0" }, "dependencies": { - "clean-jsdoc-theme": "^3.2.7", - "jsdom-global": "^3.0.2" + "istanbul-instrumenter-loader": "^3.0.1" } } diff --git a/packages/monster/CHANGELOG b/packages/monster/CHANGELOG index 29aef6787..7935ef139 100644 --- a/packages/monster/CHANGELOG +++ b/packages/monster/CHANGELOG @@ -2,6 +2,18 @@ All notable changes to this project will be documented in this file. +## [1.8.0] - 2021-08-07 + +### Added + +- [new Monster.DOM.Updater](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/25) +- [add tojson to transformer](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/27) + +### Changed + +- [the validate functions now return the validated value](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/24) +- [introduce DOM constants](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/26) + ## [1.7.0] - 2021-08-07 ### Added diff --git a/packages/monster/README.md b/packages/monster/README.md index e26cbcd73..a0e7f93cf 100644 --- a/packages/monster/README.md +++ b/packages/monster/README.md @@ -38,7 +38,7 @@ thus supports all browsers that are compatible with ES5. <script type="module"> import { Monster - } from 'https://unpkg.com/@schukai/monster@1.7.0/dist/modules/monster.js'; + } from 'https://unpkg.com/@schukai/monster@1.8.0/dist/modules/monster.js'; let id = document.getElementById('version'); id.innerHTML = Monster.getVersion(); </script> @@ -49,8 +49,8 @@ thus supports all browsers that are compatible with ES5. nomodule for backwards compatibility ``` -<script type="module" src="https://unpkg.com/@schukai/monster@1.7.0/dist/modules/monster.js"></script> -<script nomodule src="https://unpkg.com/@schukai/monster@1.7.0/dist/monster.js"></script> +<script type="module" src="https://unpkg.com/@schukai/monster@1.8.0/dist/modules/monster.js"></script> +<script nomodule src="https://unpkg.com/@schukai/monster@1.8.0/dist/monster.js"></script> ``` ### compatibility diff --git a/packages/monster/dist/modules/constraints/abstract.js b/packages/monster/dist/modules/constraints/abstract.js index bb05cbaff..c07ff21bd 100644 --- a/packages/monster/dist/modules/constraints/abstract.js +++ b/packages/monster/dist/modules/constraints/abstract.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{Base}from"../types/base.js";class AbstractConstraint extends Base{constructor(){super()}isValid(value){return Promise.reject(value)}}Monster.assignToNamespace("Monster.Constraints",AbstractConstraint);export{Monster,AbstractConstraint}; diff --git a/packages/monster/dist/modules/constraints/abstractoperator.js b/packages/monster/dist/modules/constraints/abstractoperator.js index ed4f0078f..6682d6a12 100644 --- a/packages/monster/dist/modules/constraints/abstractoperator.js +++ b/packages/monster/dist/modules/constraints/abstractoperator.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";class AbstractOperator extends AbstractConstraint{constructor(operantA,operantB){super();if(!(operantA instanceof AbstractConstraint)||!(operantB instanceof AbstractConstraint)){throw new TypeError("parameters must be from type AbstractConstraint")}this.operantA=operantA;this.operantB=operantB}}Monster.assignToNamespace("Monster.Constraints",AbstractOperator);export{Monster,AbstractOperator}; diff --git a/packages/monster/dist/modules/constraints/andoperator.js b/packages/monster/dist/modules/constraints/andoperator.js index be58ede5f..ecb70989a 100644 --- a/packages/monster/dist/modules/constraints/andoperator.js +++ b/packages/monster/dist/modules/constraints/andoperator.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";import{AbstractOperator}from"./abstractoperator.js";class AndOperator extends AbstractOperator{isValid(value){return Promise.all([this.operantA.isValid(value),this.operantB.isValid(value)])}}Monster.assignToNamespace("Monster.Constraints",AndOperator);export{Monster,AndOperator}; diff --git a/packages/monster/dist/modules/constraints/invalid.js b/packages/monster/dist/modules/constraints/invalid.js index a9ce55aec..98e918741 100644 --- a/packages/monster/dist/modules/constraints/invalid.js +++ b/packages/monster/dist/modules/constraints/invalid.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";class Invalid extends AbstractConstraint{isValid(value){return Promise.reject(value)}}Monster.assignToNamespace("Monster.Constraints",Invalid);export{Monster,Invalid}; diff --git a/packages/monster/dist/modules/constraints/isarray.js b/packages/monster/dist/modules/constraints/isarray.js index 802acb994..6c4f5b284 100644 --- a/packages/monster/dist/modules/constraints/isarray.js +++ b/packages/monster/dist/modules/constraints/isarray.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";import{isArray}from"../types/is.js";class IsArray extends AbstractConstraint{isValid(value){if(isArray(value)){return Promise.resolve(value)}return Promise.reject(value)}}Monster.assignToNamespace("Monster.Constraints",IsArray);export{Monster,IsArray}; diff --git a/packages/monster/dist/modules/constraints/isobject.js b/packages/monster/dist/modules/constraints/isobject.js index e2f50297b..b29360dd4 100644 --- a/packages/monster/dist/modules/constraints/isobject.js +++ b/packages/monster/dist/modules/constraints/isobject.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";import{isObject}from"../types/is.js";class IsObject extends AbstractConstraint{isValid(value){if(isObject(value)){return Promise.resolve(value)}return Promise.reject(value)}}Monster.assignToNamespace("Monster.Constraints",IsObject);export{Monster,IsObject}; diff --git a/packages/monster/dist/modules/constraints/namespace.js b/packages/monster/dist/modules/constraints/namespace.js index d786cc209..8ab2a3bb7 100644 --- a/packages/monster/dist/modules/constraints/namespace.js +++ b/packages/monster/dist/modules/constraints/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Constraints"; diff --git a/packages/monster/dist/modules/constraints/oroperator.js b/packages/monster/dist/modules/constraints/oroperator.js index a6fb37c51..464f1964b 100644 --- a/packages/monster/dist/modules/constraints/oroperator.js +++ b/packages/monster/dist/modules/constraints/oroperator.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractOperator}from"./abstractoperator.js";class OrOperator extends AbstractOperator{isValid(value){var self=this;return new Promise(function(resolve,reject){let a,b;self.operantA.isValid(value).then(function(){resolve()}).catch(function(){a=false;if(b===false){reject()}});self.operantB.isValid(value).then(function(){resolve()}).catch(function(){b=false;if(a===false){reject()}})})}}Monster.assignToNamespace("Monster.Constraints",OrOperator);export{Monster,OrOperator}; diff --git a/packages/monster/dist/modules/constraints/valid.js b/packages/monster/dist/modules/constraints/valid.js index 49118e28d..39119f687 100644 --- a/packages/monster/dist/modules/constraints/valid.js +++ b/packages/monster/dist/modules/constraints/valid.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";class Valid extends AbstractConstraint{isValid(value){return Promise.resolve(value)}}Monster.assignToNamespace("Monster.Constraints",Valid);export{Monster,Valid}; diff --git a/packages/monster/dist/modules/data/buildmap.js b/packages/monster/dist/modules/data/buildmap.js index ae23ac724..231cb4e9f 100644 --- a/packages/monster/dist/modules/data/buildmap.js +++ b/packages/monster/dist/modules/data/buildmap.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{isFunction}from"../types/is.js";import{validateString}from"../types/validate.js";import{Pathfinder}from"./pathfinder.js";function buildMap(subject,selector,valuePath,keyPath,filter){validateString(selector);const result=new Map;let finder=new Pathfinder(subject);let map=finder.getVia(selector);if(!(map instanceof Map)){return result}map.forEach((v,k,m)=>{if(isFunction(filter)){if(filter.call(m,v,k)!==true)return}k=build(v,keyPath,k);v=build(v,valuePath);result.set(k,v)});return result}function build(subject,definition,defaultValue){if(definition===undefined)return defaultValue?defaultValue:subject;validateString(definition);const regexp=/(?<placeholder>\$\{(?<path>[a-z.-]*)\})/gm;const array=[...definition.matchAll(regexp)];let finder=new Pathfinder(subject);if(array.length===0){return finder.getVia(definition)}array.forEach(a=>{let groups=a?.["groups"];let placeholder=groups?.["placeholder"];if(placeholder===undefined)return;let path=groups?.["path"];let v=finder.getVia(path);definition=definition.replaceAll(placeholder,v)});return definition}Monster.assignToNamespace("Monster.Data",buildMap);export{Monster,buildMap}; diff --git a/packages/monster/dist/modules/data/diff.js b/packages/monster/dist/modules/data/diff.js index e60300853..610d9421b 100644 --- a/packages/monster/dist/modules/data/diff.js +++ b/packages/monster/dist/modules/data/diff.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,isArray,isObject}from"../types/is.js";function Diff(first,second){return doDiff(first,second)}function getKeys(a,b,type){if(isArray(type)){const keys=a.length>b.length?new Array(a.length):new Array(b.length);keys.fill(0);return new Set(keys.map((_,i)=>i))}return new Set(Object.keys(a).concat(Object.keys(b)))}function doDiff(a,b,path,diff){let typeA=typeof a;let typeB=typeof b;const currPath=path||[];const currDiff=diff||[];if(typeA===typeB&&typeA==="object"){getKeys(a,b,typeA).forEach(v=>{if(!Object.prototype.hasOwnProperty.call(a,v)){currDiff.push(buildResult(a[v],b[v],"add",currPath.concat(v)))}else if(!Object.prototype.hasOwnProperty.call(b,v)){currDiff.push(buildResult(a[v],b[v],"delete",currPath.concat(v)))}else{doDiff(a[v],b[v],currPath.concat(v),currDiff)}})}else{const o=getOperator(a,b,typeA,typeB);if(o!==undefined){currDiff.push(buildResult(a,b,o,path))}}return currDiff}function buildResult(a,b,operator,path){const result={operator,path};if(operator!=="add"){result.first={value:a,type:typeof a};if(isObject(a)){const name=Object.getPrototypeOf(a)?.constructor?.name;if(name!==undefined){result.first.instance=name}}}if(operator==="add"||operator==="update"){result.second={value:b,type:typeof b};if(isObject(b)){const name=Object.getPrototypeOf(b)?.constructor?.name;if(name!==undefined){result.second.instance=name}}}return result}function isNotEqual(a,b){if(typeof a!==typeof b){return true}if(a instanceof Date&&b instanceof Date){return a.getTime()!==b.getTime()}return a!==b}function getOperator(a,b){let operator;let typeA=typeof a;let typeB=typeof b;if(typeA==="undefined"&&typeB!=="undefined"){operator="add"}else if(typeA!=="undefined"&&typeB==="undefined"){operator="delete"}else if(isNotEqual(a,b)){operator="update"}return operator}Monster.assignToNamespace("Monster.Data",Diff);export{Monster,Diff}; diff --git a/packages/monster/dist/modules/data/namespace.js b/packages/monster/dist/modules/data/namespace.js index 42ef97b7c..befe2ad4f 100644 --- a/packages/monster/dist/modules/data/namespace.js +++ b/packages/monster/dist/modules/data/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Data"; diff --git a/packages/monster/dist/modules/data/pathfinder.js b/packages/monster/dist/modules/data/pathfinder.js index 16c2dc870..9ddf6627f 100644 --- a/packages/monster/dist/modules/data/pathfinder.js +++ b/packages/monster/dist/modules/data/pathfinder.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{isObject,isArray,isInteger}from"../types/is.js";import{validateString,validateInteger}from"../types/validate.js";import{Base}from"../types/base.js";import{Stack}from"../types/stack.js";const DELIMITER=".";const WILDCARD="*";class Pathfinder extends Base{constructor(object){super();this.object=object;this.wildCard=WILDCARD}setWildCard(wildcard){validateString(wildcard);this.wildCard=wildcard;return this}getVia(path){validateString(path);return getValueViaPath.call(this,this.object,path)}setVia(path,value){validateString(path);setValueViaPath.call(this,this.object,path,value);return this}deleteVia(path){validateString(path);deleteValueViaPath.call(this,this.object,path);return this}exists(path){validateString(path);try{getValueViaPath.call(this,this.object,path,true);return true}catch(e){}return false}}Monster.assignToNamespace("Monster.Data",Pathfinder);export{Monster,Pathfinder};function iterate(subject,path,check){const result=new Map;if(isObject(subject)||isArray(subject)){for(const[key,value]of Object.entries(subject)){result.set(key,getValueViaPath.call(this,value,path,check))}}else{let key=path.split(DELIMITER).shift();result.set(key,getValueViaPath.call(this,subject,path,check))}return result}function getValueViaPath(subject,path,check){if(path===""){return subject}let parts=path.split(DELIMITER);let current=parts.shift();if(current===this.wildCard){return iterate.call(this,subject,parts.join(DELIMITER),check)}if(isObject(subject)||isArray(subject)){let anchor;if(subject instanceof Map||subject instanceof WeakMap){anchor=subject.get(current)}else if(subject instanceof Set||subject instanceof WeakSet){current=parseInt(current);validateInteger(current);anchor=[...subject]?.[current]}else if(subject instanceof WeakRef){throw Error("unsupported action for this data type")}else if(isArray(subject)){current=parseInt(current);validateInteger(current);anchor=subject?.[current]}else{anchor=subject?.[current]}if(isObject(anchor)||isArray(anchor)){return getValueViaPath.call(this,anchor,parts.join(DELIMITER),check)}if(parts.length>0){throw Error("the journey is not at its end ("+parts.join(DELIMITER)+")")}if(check===true&&!subject.hasOwnProperty(current)){throw Error("unknown value")}return anchor}throw TypeError("unsupported type "+typeof subject)}function setValueViaPath(object,path,value){validateString(path);let parts=path.split(DELIMITER);let last=parts.pop();let subpath=parts.join(DELIMITER);let stack=new Stack;let current=subpath;while(true){try{getValueViaPath.call(this,object,current,true);break}catch(e){}stack.push(current);parts.pop();current=parts.join(DELIMITER);if(current==="")break}while(!stack.isEmpty()){current=stack.pop();let obj={};if(!stack.isEmpty()){let n=stack.peek().split(DELIMITER).pop();if(isInteger(parseInt(n))){obj=[]}}setValueViaPath.call(this,object,current,obj)}let anchor=getValueViaPath.call(this,object,subpath);if(!isObject(object)&&!isArray(object)){throw TypeError("unsupported type: "+typeof object)}if(anchor instanceof Map||anchor instanceof WeakMap){anchor.set(last,value)}else if(anchor instanceof Set||anchor instanceof WeakSet){anchor.append(value)}else if(anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if(isArray(anchor)){last=parseInt(last);validateInteger(last);anchor[last]=value}else{anchor[last]=value}return}function deleteValueViaPath(object,path){const parts=path.split(DELIMITER);let last=parts.pop();const subpath=parts.join(DELIMITER);const anchor=getValueViaPath.call(this,object,subpath);if(anchor instanceof Map){anchor.delete(last)}else if(anchor instanceof Set||anchor instanceof WeakMap||anchor instanceof WeakSet||anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if(isArray(anchor)){last=parseInt(last);validateInteger(last);delete anchor[last]}else{delete anchor[last]}return} diff --git a/packages/monster/dist/modules/data/pipe.js b/packages/monster/dist/modules/data/pipe.js index 7990037f4..e2ebe7f1e 100644 --- a/packages/monster/dist/modules/data/pipe.js +++ b/packages/monster/dist/modules/data/pipe.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ -'use strict';import{Monster}from"../namespace.js";import{Transformer}from"./transformer.js";import{Base}from"../types/base.js";import{validateString}from"../types/validate.js";const DELIMITER="|";class Pipe extends Base{constructor(pipe){super();validateString(pipe);this.pipe=pipe.split(DELIMITER).map(v=>{return new Transformer(v)})}run(value){return this.pipe.reduce((accumulator,currentValue,currentIndex,array)=>{return currentValue.run(accumulator)},value)}}Monster.assignToNamespace("Monster.Data",Pipe);export{Monster,Pipe}; +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +'use strict';import{Monster}from"../namespace.js";import{Transformer}from"./transformer.js";import{Base}from"../types/base.js";import{validateFunction,validateString}from"../types/validate.js";const DELIMITER="|";class Pipe extends Base{constructor(pipe){super();validateString(pipe);this.pipe=pipe.split(DELIMITER).map(v=>{return new Transformer(v)})}setCallback(name,callback){for(const[,t]of Object.entries(this.pipe)){t.setCallback(name,callback)}return this}run(value){return this.pipe.reduce((accumulator,transformer,currentIndex,array)=>{return transformer.run(accumulator)},value)}}Monster.assignToNamespace("Monster.Data",Pipe);export{Monster,Pipe}; diff --git a/packages/monster/dist/modules/data/transformer.js b/packages/monster/dist/modules/data/transformer.js index 4d2e81ce9..024bb8da4 100644 --- a/packages/monster/dist/modules/data/transformer.js +++ b/packages/monster/dist/modules/data/transformer.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ -'use strict';import{Monster}from"../namespace.js";import{Base}from"../types/base.js";import{validateString,validatePrimitive,validateFunction,validateInteger}from"../types/validate.js";import{isObject,isString,isArray}from"../types/is.js";import{ID}from"../types/id.js";import{clone}from"../util/clone.js";import{Pathfinder}from"./pathfinder.js";class Transformer extends Base{constructor(definition){super();validateString(definition);this.args=disassemble(definition);this.command=this.args.shift();this.callbacks=new Map}setCallback(name,callback){validateString(name);validateFunction(callback);this.callbacks.set(name,callback);return this}run(value){return transform.apply(this,[value])}}Monster.assignToNamespace("Monster.Data",Transformer);export{Monster,Transformer};function disassemble(command){validateString(command);let placeholder=new Map;const regex=/((?<pattern>\\(?<char>.)){1})/mig;let result=command.matchAll(regex);for(let m of result){let g=m?.["groups"];if(!isObject(g)){continue}let p=g?.["pattern"];let c=g?.["char"];if(p&&c){let r="__"+new ID().toString()+"__";placeholder.set(r,c);command=command.replace(p,r)}}let parts=command.split(":");parts=parts.map(function(value){let v=value.trim();for(let k of placeholder){v=v.replace(k[0],k[1])}return v});return parts}function convertToString(value){if(isObject(value)&&value.hasOwnProperty("toString")){value=value.toString()}validateString(value);return value}function transform(value){let args=clone(this.args);let key;switch(this.command){case"static":return this.args.join(":");case"tolower":case"strtolower":case"tolowercase":validateString(value);return value.toLowerCase();case"toupper":case"strtoupper":case"touppercase":validateString(value);return value.toUpperCase();case"tostring":return""+value;case"tointeger":let n=parseInt(value);validateInteger(n);return n;case"trim":validateString(value);return value.trim();case"rawurlencode":validateString(value);return encodeURIComponent(value).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A");case"call":let callback;let callbackName=args.shift();if(isObject(value)&&calue.hasOwnProperty(callbackName)){callback=value[callbackName]}else if(this.callbacks.has(callbackName)){callback=this.callbacks.get(callbackName)}else if(typeof window==="object"&&window.hasOwnProperty(callbackName)){callback=window[callbackName]}validateFunction(callback);args.unshift(value);return callback(...args);case"plain":case"plaintext":validateString(value);let doc=new DOMParser().parseFromString(value,"text/html");return doc.body.textContent||"";case"if":case"?":validatePrimitive(value);let trueStatement=args.shift()||undefined;let falseStatement=args.shift()||undefined;if(trueStatement==="value"){trueStatement=value}if(trueStatement==="\\value"){trueStatement="value"}if(falseStatement==="value"){falseStatement=value}if(falseStatement==="\\value"){falseStatement="value"}let condition=value!==undefined&&value!==""&&value!=="off"&&value!=="false"&&value!==false||value==="on"||value==="true"||value===true;return condition?trueStatement:falseStatement;case"ucfirst":validateString(value);let firstchar=value.charAt(0).toUpperCase();return firstchar+value.substr(1);case"ucwords":validateString(value);return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g,function(v){return v.toUpperCase()});case"count":case"length":if((isString(value)||isObject(value)||isArray(value))&&value.hasOwnProperty("length")){return value.length}throw new TypeError("unsupported type");case"base64":convertToString(value);return btoa(value);case"empty":return"";case"undefined":return undefined;case"prefix":validateString(value);let prefix=args?.[0];return prefix+value;case"suffix":validateString(value);let suffix=args?.[0];return value+suffix;case"uniqid":return new ID().toString();case"key":case"property":case"index":key=args.shift()||"undefined";let defaultValue=args.shift()||"";if(value instanceof Map){if(!value.has(key)){return defaultValue}return value.get(key)}if(isObject(value)||isArray(value)){if(value?.[key]){return value?.[key]}return defaultValue}throw new Error("type not supported");case"path":key=args.shift()||"undefined";return new Pathfinder(value).getVia(key);case"substring":validateString(value);let start=parseInt(args[0])||0;let end=(parseInt(args[1])||0)+start;return value.substring(start,end);case"nop":return value;default:throw new Error("unknown command "+this.command);}return value} +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +'use strict';import{Monster}from"../namespace.js";import{Base}from"../types/base.js";import{validateString,validatePrimitive,validateFunction,validateInteger}from"../types/validate.js";import{isObject,isString,isArray}from"../types/is.js";import{ID}from"../types/id.js";import{clone}from"../util/clone.js";import{Pathfinder}from"./pathfinder.js";class Transformer extends Base{constructor(definition){super();validateString(definition);this.args=disassemble(definition);this.command=this.args.shift();this.callbacks=new Map}setCallback(name,callback){validateString(name);validateFunction(callback);this.callbacks.set(name,callback);return this}run(value){return transform.apply(this,[value])}}Monster.assignToNamespace("Monster.Data",Transformer);export{Monster,Transformer};function disassemble(command){validateString(command);let placeholder=new Map;const regex=/((?<pattern>\\(?<char>.)){1})/mig;let result=command.matchAll(regex);for(let m of result){let g=m?.["groups"];if(!isObject(g)){continue}let p=g?.["pattern"];let c=g?.["char"];if(p&&c){let r="__"+new ID().toString()+"__";placeholder.set(r,c);command=command.replace(p,r)}}let parts=command.split(":");parts=parts.map(function(value){let v=value.trim();for(let k of placeholder){v=v.replace(k[0],k[1])}return v});return parts}function convertToString(value){if(isObject(value)&&value.hasOwnProperty("toString")){value=value.toString()}validateString(value);return value}function transform(value){let args=clone(this.args);let key;switch(this.command){case"static":return this.args.join(":");case"tolower":case"strtolower":case"tolowercase":validateString(value);return value.toLowerCase();case"toupper":case"strtoupper":case"touppercase":validateString(value);return value.toUpperCase();case"tostring":return""+value;case"tointeger":let n=parseInt(value);validateInteger(n);return n;case"tojson":return JSON.stringify(value);case"trim":validateString(value);return value.trim();case"rawurlencode":validateString(value);return encodeURIComponent(value).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A");case"call":let callback;let callbackName=args.shift();if(isObject(value)&&value.hasOwnProperty(callbackName)){callback=value[callbackName]}else if(this.callbacks.has(callbackName)){callback=this.callbacks.get(callbackName)}else if(typeof window==="object"&&window.hasOwnProperty(callbackName)){callback=window[callbackName]}validateFunction(callback);args.unshift(value);return callback(...args);case"plain":case"plaintext":validateString(value);let doc=new DOMParser().parseFromString(value,"text/html");return doc.body.textContent||"";case"if":case"?":validatePrimitive(value);let trueStatement=args.shift()||undefined;let falseStatement=args.shift()||undefined;if(trueStatement==="value"){trueStatement=value}if(trueStatement==="\\value"){trueStatement="value"}if(falseStatement==="value"){falseStatement=value}if(falseStatement==="\\value"){falseStatement="value"}let condition=value!==undefined&&value!==""&&value!=="off"&&value!=="false"&&value!==false||value==="on"||value==="true"||value===true;return condition?trueStatement:falseStatement;case"ucfirst":validateString(value);let firstchar=value.charAt(0).toUpperCase();return firstchar+value.substr(1);case"ucwords":validateString(value);return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g,function(v){return v.toUpperCase()});case"count":case"length":if((isString(value)||isObject(value)||isArray(value))&&value.hasOwnProperty("length")){return value.length}throw new TypeError("unsupported type");case"base64":convertToString(value);return btoa(value);case"empty":return"";case"undefined":return undefined;case"prefix":validateString(value);let prefix=args?.[0];return prefix+value;case"suffix":validateString(value);let suffix=args?.[0];return value+suffix;case"uniqid":return new ID().toString();case"key":case"property":case"index":key=args.shift()||"undefined";let defaultValue=args.shift()||"";if(value instanceof Map){if(!value.has(key)){return defaultValue}return value.get(key)}if(isObject(value)||isArray(value)){if(value?.[key]){return value?.[key]}return defaultValue}throw new Error("type not supported");case"path":key=args.shift()||"undefined";return new Pathfinder(value).getVia(key);case"substring":validateString(value);let start=parseInt(args[0])||0;let end=(parseInt(args[1])||0)+start;return value.substring(start,end);case"nop":return value;default:throw new Error("unknown command "+this.command);}return value} diff --git a/packages/monster/dist/modules/dom/assembler.js b/packages/monster/dist/modules/dom/assembler.js index a8223a757..aa26f9a1f 100644 --- a/packages/monster/dist/modules/dom/assembler.js +++ b/packages/monster/dist/modules/dom/assembler.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,Base}from"../types/base.js";import{validateInstance,validateString}from"../types/validate.js";import{getGlobalFunction}from"../types/global.js";import{ProxyObserver}from"../types/proxyobserver.js";const ATTRIBUTEPREFIX="data-monster-";class Assembler extends Base{constructor(fragment){super();this.attributePrefix=ATTRIBUTEPREFIX;validateInstance(fragment,getGlobalFunction("DocumentFragment"));this.fragment=fragment}setAttributePrefix(prefix){validateString(prefix);this.attributePrefix=prefix;return this}getAttributePrefix(){return this.attributePrefix}createDocumentFragment(data){if(data===undefined){data=new ProxyObserver({})}validateInstance(data,ProxyObserver);let fragment=this.fragment.cloneNode(true);return fragment}}Monster.assignToNamespace("Monster.DOM",Assembler);export{Monster,ATTRIBUTEPREFIX,Assembler}; diff --git a/packages/monster/dist/modules/dom/constants.js b/packages/monster/dist/modules/dom/constants.js new file mode 100644 index 000000000..1a95abc8d --- /dev/null +++ b/packages/monster/dist/modules/dom/constants.js @@ -0,0 +1,2 @@ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +'use strict';import{Monster}from"../namespace.js";const ATTRIBUTE_PREFIX="data-monster-";const ATTRIBUTE_OPTIONS=ATTRIBUTE_PREFIX+"options";const DEFAULT_THEME="monster";const ATTRIBUTE_THEME_PREFIX=ATTRIBUTE_PREFIX+"theme-";const ATTRIBUTE_THEME_NAME=ATTRIBUTE_THEME_PREFIX+"name";const ATTRIBUTE_UPDATER_ATTRIBUTES=ATTRIBUTE_PREFIX+"attributes";const ATTRIBUTE_UPDATER_REPLACE=ATTRIBUTE_PREFIX+"replace";const ATTRIBUTE_UPDATER_INSERT=ATTRIBUTE_PREFIX+"insert";const ATTRIBUTE_UPDATER_INSERT_REFERENCE=ATTRIBUTE_PREFIX+"insert-reference";const ATTRIBUTE_UPDATER_REMOVE=ATTRIBUTE_PREFIX+"remove";export{Monster,ATTRIBUTE_PREFIX,ATTRIBUTE_OPTIONS,DEFAULT_THEME,ATTRIBUTE_THEME_PREFIX,ATTRIBUTE_THEME_NAME,ATTRIBUTE_UPDATER_ATTRIBUTES,ATTRIBUTE_UPDATER_REPLACE,ATTRIBUTE_UPDATER_INSERT,ATTRIBUTE_UPDATER_INSERT_REFERENCE,ATTRIBUTE_UPDATER_REMOVE}; diff --git a/packages/monster/dist/modules/dom/customelement.js b/packages/monster/dist/modules/dom/customelement.js index ed33db1ee..a93adcc91 100644 --- a/packages/monster/dist/modules/dom/customelement.js +++ b/packages/monster/dist/modules/dom/customelement.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ -'use strict';import{getGlobalObject}from"../types/global.js";import{Monster,validateFunction}from"../types/validate.js";class CustomElement extends HTMLElement{constructor(){super()}connectedCallback(){}disconnectedCallback(){}adoptedCallback(){}attributeChangedCallback(attrName,oldVal,newVal){}static getTag(){throw new Error("the method getTag must be overwritten by the derived class.")}}function registerCustomElement(element){validateFunction(element);let tag=element.getTag();getGlobalObject("customElements").define(element.getTag(),element);return}Monster.assignToNamespace("Monster.DOM",CustomElement,registerCustomElement);export{Monster,registerCustomElement,CustomElement}; +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +'use strict';import{ATTRIBUTE_OPTIONS}from"./constants.js";import{findDocumentTemplate}from"./template.js";import{getGlobalObject}from"../types/global.js";import{Monster,validateFunction,validateObject,validateString}from"../types/validate.js";class CustomElement extends HTMLElement{constructor(){super();this._options=Object.assign({},this.defaults,getOptionsFromAttributes.call(this));this.init()}get defaults(){return{shadowMode:"open",delegatesFocus:true}}getOption(key,defaultValue){validateString(key);let v=this._options?.[key];if(v===undefined)return defaultValue;return v}init(){initShadowRoot.call(this);return this}assemble(){return this}disassemble(){return this}connectedCallback(){this.assemble()}disconnectedCallback(){this.disassemble()}adoptedCallback(){}attributeChangedCallback(attrName,oldVal,newVal){this.assemble()}static getTemplate(){throw new Error("the method getTemplate must be overwritten by the derived class.")}static getTag(){throw new Error("the method getTag must be overwritten by the derived class.")}static getCSSStyleSheet(){return new CSSStyleSheet}}function getOptionsFromAttributes(){if(this.hasAttribute(ATTRIBUTE_OPTIONS)){try{let obj=JSON.parse(this.getAttribute(ATTRIBUTE_OPTIONS));validateObject(obj);return obj}catch(e){throw new Error("the options attribute "+ATTRIBUTE_OPTIONS+" does not contain a valid json definition (actual: "+this.getAttribute(ATTRIBUTE_OPTIONS)+").")}}return{}}function initShadowRoot(){this.attachShadow({mode:this.getOption("shadowMode","open"),delegatesFocus:this.getOption("delegatesFocus",true)});const styleSheet=this.constructor.getCSSStyleSheet();if(styleSheet instanceof CSSStyleSheet){this.shadowRoot.adoptedStyleSheets=[styleSheet]}try{let template=findDocumentTemplate(this.constructor.getTag());this.shadowRoot.appendChild(template.createDocumentFragment())}catch(e){this.shadowRoot.innerHTML=this.constructor.getTemplate()}return this}function registerCustomElement(element){validateFunction(element);let tag=element.getTag();getGlobalObject("customElements").define(element.getTag(),element);return}Monster.assignToNamespace("Monster.DOM",CustomElement,registerCustomElement);export{Monster,registerCustomElement,CustomElement}; diff --git a/packages/monster/dist/modules/dom/handle.js b/packages/monster/dist/modules/dom/handle.js index 7a1dce52e..40fab99c1 100644 --- a/packages/monster/dist/modules/dom/handle.js +++ b/packages/monster/dist/modules/dom/handle.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,Base}from"../types/base.js";import{Stack}from"../types/stack.js";import{validateInstance}from"../types/validate.js";import{ProxyObserver}from"../types/proxyobserver.js";import{Observer}from"../types/observer.js";import{getGlobalFunction,getGlobalObject}from"../types/global.js";import{isInstance}from"../types/is.js";import{ATTRIBUTEPREFIX}from"./assembler.js";import{ID}from"../types/id.js";const MONSTERDOMHANDLE=Symbol("MonsterHandle");class Handle extends Base{constructor(data){super();let self=this;self.id=new ID;validateInstance(data,ProxyObserver);this.data=data;this.mutationObserver=createMutationObserver.call(this);this.dataObserver=createDataObserver.call(this);this.data.attachObserver(this.dataObserver);this.nodes=new WeakSet;this.updates=new Stack}update(){return}remove(node){if(isInstance(node,getGlobalFunction("Document"))){node=node.firstElementChild}validateInstance(node,getGlobalFunction("HTMLElement"));if(!this.nodes.has(node)){return this}this.mutationObserver.disconnect(node);delete node.dataset[MONSTERDOMHANDLE];node.removeAttribute(ATTRIBUTEPREFIX+"handler");return this}append(node){if(isInstance(node,getGlobalFunction("Document"))){node=node.firstElementChild}validateInstance(node,getGlobalFunction("HTMLElement"));if(this.nodes.has(node)){return this}node.dataset[MONSTERDOMHANDLE]=this;node.setAttribute(ATTRIBUTEPREFIX+"handler",true);this.mutationObserver.observe(node,{attributes:true,childList:true,subtree:true,characterData:true,characterDataOldValue:true,attributeOldValue:true});this.nodes.add(node);return this}}function createDataObserver(){const self=this;return new Observer(()=>{self.update()})}function createMutationObserver(){const self=this;const MutationObserver=getGlobalFunction("MutationObserver");return new MutationObserver((mutationsList,observer)=>{for(const mutation of mutationsList){self.updates.push(mutation)}self.update()})}function getHandleFromNode(node){validateInstance(node,getGlobalFunction("Node"));let handle=node.dataset?.[MONSTERDOMHANDLE];if(handle===undefined){let parentNode=node?.["parentNode"];if(isInstance(parentNode,getGlobalFunction("Node"))){return getHandleFromNode(parentNode)}}return handle}Monster.assignToNamespace("Monster.DOM",getHandleFromNode,Handle);export{Monster,getHandleFromNode,Handle}; diff --git a/packages/monster/dist/modules/dom/namespace.js b/packages/monster/dist/modules/dom/namespace.js index fd33937de..0c23ce43f 100644 --- a/packages/monster/dist/modules/dom/namespace.js +++ b/packages/monster/dist/modules/dom/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.DOM"; diff --git a/packages/monster/dist/modules/dom/template.js b/packages/monster/dist/modules/dom/template.js index 71a7af432..75ed50c9c 100644 --- a/packages/monster/dist/modules/dom/template.js +++ b/packages/monster/dist/modules/dom/template.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,Base}from"../types/base.js";import{validateString}from"../types/validate.js";import{getGlobalFunction,getGlobalObject}from"../types/global.js";import{validateInstance}from"../types/validate.js";import{getDocumentTheme}from"./theme.js";class Template extends Base{constructor(template){super();const HTMLTemplateElement=getGlobalFunction("HTMLTemplateElement");validateInstance(template,HTMLTemplateElement);this.template=template}getTemplateElement(){return this.template}createDocumentFragment(){return this.template.content.cloneNode(true)}}function findDocumentTemplate(id){validateString(id);const document=getGlobalObject("document");const HTMLTemplateElement=getGlobalFunction("HTMLTemplateElement");let theme=getDocumentTheme();let themedID=id+"-"+theme.getName();let template=document.getElementById(themedID);if(template instanceof HTMLTemplateElement){return new Template(template)}template=document.getElementById(id);if(template instanceof HTMLTemplateElement){return new Template(template)}throw new Error("template "+id+" not found.")}Monster.assignToNamespace("Monster.DOM",Template,findDocumentTemplate);export{Monster,Template,findDocumentTemplate}; diff --git a/packages/monster/dist/modules/dom/theme.js b/packages/monster/dist/modules/dom/theme.js index 1afc99d53..f7b4b66b0 100644 --- a/packages/monster/dist/modules/dom/theme.js +++ b/packages/monster/dist/modules/dom/theme.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ -'use strict';import{Monster,Base}from"../types/base.js";import{validateString}from"../types/validate.js";import{getGlobalObject}from"../types/global.js";const DEFAULT_THEME="monster";const THEME_ATTRIBUTE_NAME="data-monster-theme-name";class Theme extends Base{constructor(name){super();validateString(name);this.name=name}getName(){return this.name}}function getDocumentTheme(){let document=getGlobalObject("document");let name=DEFAULT_THEME;let element=document.querySelector("html");if(element instanceof HTMLElement){let theme=element.getAttribute(THEME_ATTRIBUTE_NAME);if(theme){name=theme}}return new Theme(name)}Monster.assignToNamespace("Monster.DOM",Theme,getDocumentTheme);export{Monster,Theme,getDocumentTheme}; +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +'use strict';import{Monster,Base}from"../types/base.js";import{validateString}from"../types/validate.js";import{getGlobalObject}from"../types/global.js";import{ATTRIBUTE_THEME_NAME,DEFAULT_THEME}from"./constants.js";class Theme extends Base{constructor(name){super();validateString(name);this.name=name}getName(){return this.name}}function getDocumentTheme(){let document=getGlobalObject("document");let name=DEFAULT_THEME;let element=document.querySelector("html");if(element instanceof HTMLElement){let theme=element.getAttribute(ATTRIBUTE_THEME_NAME);if(theme){name=theme}}return new Theme(name)}Monster.assignToNamespace("Monster.DOM",Theme,getDocumentTheme);export{Monster,Theme,getDocumentTheme}; diff --git a/packages/monster/dist/modules/dom/updater.js b/packages/monster/dist/modules/dom/updater.js new file mode 100644 index 000000000..cf3f48ec6 --- /dev/null +++ b/packages/monster/dist/modules/dom/updater.js @@ -0,0 +1,2 @@ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +'use strict';import{Pipe}from"../data/pipe.js";import{Base,Monster}from"../types/base.js";import{isInstance,isArray}from"../types/is.js";import{Observer}from"../types/observer.js";import{ProxyObserver}from"../types/proxyobserver.js";import{validateInstance}from"../types/validate.js";import{clone}from"../util/clone.js";import{Diff}from"../data/diff.js";import{ATTRIBUTE_UPDATER_REPLACE,ATTRIBUTE_UPDATER_ATTRIBUTES,ATTRIBUTE_UPDATER_INSERT,ATTRIBUTE_UPDATER_REMOVE,ATTRIBUTE_UPDATER_INSERT_REFERENCE}from"../dom/constants.js";import{getDocument}from"./util.js";class Updater extends Base{constructor(element,subject){super();this.element=validateInstance(element,HTMLElement);if(!isInstance(subject,ProxyObserver)){subject=new ProxyObserver(subject)}this.last={};this.callbacks=new Map;this.subject=subject.attachObserver(new Observer(()=>{const s=this.subject.getRealSubject();const diff=Diff(this.last,s);this.last=clone(s);for(const[,change]of Object.entries(diff)){removeElement.call(this,change);insertElement.call(this,change);updateContent.call(this,change);updateAttributes.call(this,change)}}))}run(){this.last={};return this.subject.notifyObservers()}getSubject(){return this.subject.getSubject()}setCallback(name,callback){this.callbacks.set(name,callback);return this}}function removeElement(change){for(const[,element]of this.element.querySelectorAll(":scope ["+ATTRIBUTE_UPDATER_REMOVE+"]").entries()){element.parentNode.removeChild(element)}return this}function insertElement(change){const self=this;const subject=self.subject.getRealSubject();const document=getDocument();let mem=new WeakSet;let wd=0;while(true){let found=false;wd++;let p=clone(change?.["path"]);if(!isArray(p))return this;while(p.length>0){const current=p.join(".");const list=this.element.querySelectorAll(":scope ["+ATTRIBUTE_UPDATER_INSERT+"*=\"path:"+current+"\"]").entries();for(const[,containerElement]of list){if(mem.has(containerElement))continue;mem.add(containerElement);found=true;const attributes=containerElement.getAttribute(ATTRIBUTE_UPDATER_INSERT);let def=attributes.trim();let i=def.indexOf(" ");let key=def.substr(0,i).trim();let refPrefix=key+"-";let cmd=def.substr(i).trim();if(cmd.indexOf("|")>0){throw new Error("pipes are not allowed when cloning a node.")}let pipe=new Pipe(cmd);this.callbacks.forEach((f,n)=>{pipe.setCallback(n,f)});let value=pipe.run(subject);let dataPath=cmd.split(":").pop();let insertPoint;if(containerElement.hasChildNodes()){insertPoint=containerElement.lastChild}if(!isArray(value)){throw new Error("the value is not iterable")}let available=new Set;for(const[_i,obj]of Object.entries(value)){let ref=refPrefix+_i;let currentPath=dataPath+"."+_i;available.add(ref);let refElement=containerElement.querySelector("["+ATTRIBUTE_UPDATER_INSERT_REFERENCE+"=\""+ref+"\"]");if(refElement instanceof HTMLElement){insertPoint=refElement;continue}appendNewDocumentFragment(containerElement,key,ref,currentPath)}let nodes=containerElement.querySelectorAll("["+ATTRIBUTE_UPDATER_INSERT_REFERENCE+"*=\""+refPrefix+"\"]");for(const[,node]of Object.entries(nodes)){if(!available.has(node.getAttribute(ATTRIBUTE_UPDATER_INSERT_REFERENCE))){containerElement.removeChild(node)}}}p.pop()}if(found===false)break;if(wd++>200){throw new Error("the maximum depth for the recursion is reached.")};}}function appendNewDocumentFragment(container,key,ref,path){let template=getDocument().querySelector("template#"+key);if(!(template instanceof HTMLTemplateElement)){throw new Error("no template was found with the specified key "+key)}let nodes=template.content.cloneNode(true);for(const[,node]of Object.entries(nodes.childNodes)){if(node instanceof HTMLElement){node.setAttribute(ATTRIBUTE_UPDATER_INSERT_REFERENCE,ref);if(node.hasAttribute(ATTRIBUTE_UPDATER_REPLACE)){let value=node.getAttribute(ATTRIBUTE_UPDATER_REPLACE);node.setAttribute(ATTRIBUTE_UPDATER_REPLACE,value.replace("path:"+key,"path:"+path))}}container.appendChild(node)}}function updateContent(change){const self=this;const subject=self.subject.getRealSubject();let p=clone(change?.["path"]);runUpdateContent.call(this,this.element,p,subject);return this}function runUpdateContent(container,parts,subject){if(!isArray(parts))return;parts=clone(parts);let mem=new WeakSet;while(parts.length>0){const current=parts.join(".");parts.pop();for(const[,element]of container.querySelectorAll(":scope ["+ATTRIBUTE_UPDATER_REPLACE+"^=\"path:"+current+"\"], ["+ATTRIBUTE_UPDATER_REPLACE+"^=\"static:\"]").entries()){if(mem.has(element))continue;mem.add(element);const attributes=element.getAttribute(ATTRIBUTE_UPDATER_REPLACE);let cmd=attributes.trim();let pipe=new Pipe(cmd);this.callbacks.forEach((f,n)=>{pipe.setCallback(n,f)});let value=pipe.run(subject);if(value instanceof HTMLElement){while(element.firstChild){element.removeChild(element.firstChild)}element.addNode(value)}else{element.innerHTML=value}}}}function updateAttributes(change){const self=this;const subject=self.subject.getRealSubject();let p=clone(change?.["path"]);runUpdateAttributes(this.element,p,subject);return this}function runUpdateAttributes(container,parts,subject){if(!isArray(parts))return;parts=clone(parts);let mem=new WeakSet;while(parts.length>0){const current=parts.join(".");parts.pop();for(const[,element]of container.querySelectorAll(":scope ["+ATTRIBUTE_UPDATER_ATTRIBUTES+"*=\"path:"+current+"\"]").entries()){if(mem.has(element))continue;mem.add(element);const attributes=element.getAttribute(ATTRIBUTE_UPDATER_ATTRIBUTES);for(let[,def]of Object.entries(attributes.split(","))){def=def.trim();let i=def.indexOf(" ");let name=def.substr(0,i).trim();let cmd=def.substr(i).trim();let value=new Pipe(cmd).run(subject);if(element.getAttribute(name)!==value){element.setAttribute(name,value)}}}}}Monster.assignToNamespace("Monster.DOM",Updater);export{Monster,Updater}; diff --git a/packages/monster/dist/modules/dom/util.js b/packages/monster/dist/modules/dom/util.js index f6ef9d365..513075628 100644 --- a/packages/monster/dist/modules/dom/util.js +++ b/packages/monster/dist/modules/dom/util.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,getGlobal}from"../types/global.js";import{validateString}from"../types/validate.js";function getDocument(){let document=getGlobal()?.["document"];if(typeof document!=="object"){throw new Error("not supported environment")}return document}function getWindow(){let window=getGlobal()?.["window"];if(typeof window!=="object"){throw new Error("not supported environment")}return window}function getDocumentFragmentFromString(html){validateString(html);const document=getDocument();const template=document.createElement("template");template.innerHTML=html;return template.content}Monster.assignToNamespace("Monster.DOM",getWindow,getDocument,getDocumentFragmentFromString);export{Monster,getWindow,getDocument,getDocumentFragmentFromString}; diff --git a/packages/monster/dist/modules/logging/handler.js b/packages/monster/dist/modules/logging/handler.js index e07ca88f0..8395bd26f 100644 --- a/packages/monster/dist/modules/logging/handler.js +++ b/packages/monster/dist/modules/logging/handler.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{Base}from"../types/base.js";import{ALL,DEBUG,ERROR,FATAL,INFO,OFF,TRACE,WARN}from"./logger.js";import{LogEntry}from"./logentry.js";import{validateInstance,validateInteger}from"../types/validate.js";class Handler extends Base{constructor(){super();this.loglevel=OFF}log(entry){validateInstance(entry,LogEntry);if(this.loglevel<entry.getLogLevel()){return false}return true}setLogLevel(loglevel){validateInteger(loglevel);this.loglevel=loglevel;return this}getLogLevel(){return this.loglevel}setAll(){this.setLogLevel(ALL);return this}setTrace(){this.setLogLevel(TRACE);return this}setDebug(){this.setLogLevel(DEBUG);return this}setInfo(){this.setLogLevel(INFO);return this}setWarn(){this.setLogLevel(WARN);return this}setError(){this.setLogLevel(ERROR);return this}setFatal(){this.setLogLevel(FATAL);return this}setOff(){this.setLogLevel(OFF);return this}}Monster.assignToNamespace("Monster.Logging",Handler);export{Monster,Handler}; diff --git a/packages/monster/dist/modules/logging/handler/console.js b/packages/monster/dist/modules/logging/handler/console.js index 592d6b93d..fb74e44ab 100644 --- a/packages/monster/dist/modules/logging/handler/console.js +++ b/packages/monster/dist/modules/logging/handler/console.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../../namespace.js";import{Base}from"../../types/base.js";import{Handler}from"../../logging/handler.js";class ConsoleHandler extends Base{constructor(){super()}}Monster.assignToNamespace("Monster.Logging",ConsoleHandler);export{Monster,Handler}; diff --git a/packages/monster/dist/modules/logging/handler/namespace.js b/packages/monster/dist/modules/logging/handler/namespace.js index 2e82980cf..f129e0688 100644 --- a/packages/monster/dist/modules/logging/handler/namespace.js +++ b/packages/monster/dist/modules/logging/handler/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Logging.Handler"; diff --git a/packages/monster/dist/modules/logging/logentry.js b/packages/monster/dist/modules/logging/logentry.js index cbad8b77d..ab2d887ce 100644 --- a/packages/monster/dist/modules/logging/logentry.js +++ b/packages/monster/dist/modules/logging/logentry.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{validateInteger}from"../types/validate.js";import{Base}from"../types/base.js";class LogEntry extends Base{constructor(loglevel,...args){super();validateInteger(loglevel);this.loglevel=loglevel;this.arguments=args}getLogLevel(){return this.loglevel}getArguments(){return this.arguments}}Monster.assignToNamespace("Monster.Logging",LogEntry);export{Monster,LogEntry}; diff --git a/packages/monster/dist/modules/logging/logger.js b/packages/monster/dist/modules/logging/logger.js index da485982c..588c2b25b 100644 --- a/packages/monster/dist/modules/logging/logger.js +++ b/packages/monster/dist/modules/logging/logger.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{validateInteger,validateObject,validateString}from"../types/validate.js";import{Handler}from"../logging/handler.js";import{LogEntry}from"../logging/logentry.js";import{Base}from"../types/base.js";const ALL=255;const TRACE=64;const DEBUG=32;const INFO=16;const WARN=8;const ERROR=4;const FATAL=2;const OFF=0;class Logger extends Base{constructor(){super();this.handler=new Set}addHandler(handler){validateObject(handler);if(!(handler instanceof Handler)){throw new Error("the handler must be an instance of Handler")}this.handler.add(handler);return this}removeHandler(handler){validateObject(handler);if(!(handler instanceof Handler)){throw new Error("the handler must be an instance of Handler")}this.handler.delete(handler);return this}logTrace(){triggerLog.apply(this,[TRACE,...arguments]);return this}logDebug(){triggerLog.apply(this,[DEBUG,...arguments]);return this}logInfo(){triggerLog.apply(this,[INFO,...arguments]);return this}logWarn(){triggerLog.apply(this,[WARN,...arguments]);return this}logError(){triggerLog.apply(this,[ERROR,...arguments]);return this}logFatal(){triggerLog.apply(this,[FATAL,...arguments]);return this}getLabel(level){validateInteger(level);if(level===ALL)return"ALL";if(level===TRACE)return"TRACE";if(level===DEBUG)return"DEBUG";if(level===INFO)return"INFO";if(level===WARN)return"WARN";if(level===ERROR)return"ERROR";if(level===FATAL)return"FATAL";if(level===OFF)return"OFF";return"unknown"}getLevel(label){validateString(label);if(label==="ALL")return ALL;if(label==="TRACE")return TRACE;if(label==="DEBUG")return DEBUG;if(label==="INFO")return INFO;if(label==="WARN")return WARN;if(label==="ERROR")return ERROR;if(label==="FATAL")return FATAL;if(label==="OFF")return OFF;return 0}}Monster.assignToNamespace("Monster.Logging",Logger);export{Monster,Logger,ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF};function triggerLog(loglevel,...args){var logger=this;for(let handler of logger.handler){handler.log(new LogEntry(loglevel,args))}return logger} diff --git a/packages/monster/dist/modules/logging/namespace.js b/packages/monster/dist/modules/logging/namespace.js index 687977b55..ff3c92274 100644 --- a/packages/monster/dist/modules/logging/namespace.js +++ b/packages/monster/dist/modules/logging/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Logging"; diff --git a/packages/monster/dist/modules/math/namespace.js b/packages/monster/dist/modules/math/namespace.js index dcbba0022..f2941c119 100644 --- a/packages/monster/dist/modules/math/namespace.js +++ b/packages/monster/dist/modules/math/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Math"; diff --git a/packages/monster/dist/modules/math/random.js b/packages/monster/dist/modules/math/random.js index c59882498..7ec931171 100644 --- a/packages/monster/dist/modules/math/random.js +++ b/packages/monster/dist/modules/math/random.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,getGlobal}from"../types/global.js";function random(min,max){if(min===undefined){min=0}if(max===undefined){max=MAX}if(max<min){throw new Error("max must be greater than min")}return Math.round(create(min,max))}var MAX=1000000000;Math.log2=Math.log2||function(n){return Math.log(n)/Math.log(2)};function create(min,max){let crypt;let globalReference=getGlobal();crypt=globalReference?.["crypto"]||globalReference?.["msCrypto"]||globalReference?.["crypto"]||undefined;if(typeof crypt==="undefined"){throw new Error("missing crypt")}let rval=0;const range=max-min;if(range<2){return min}const bitsNeeded=Math.ceil(Math.log2(range));if(bitsNeeded>53){throw new Error("we cannot generate numbers larger than 53 bits.")}const bytesNeeded=Math.ceil(bitsNeeded/8);const mask=Math.pow(2,bitsNeeded)-1;const byteArray=new Uint8Array(bytesNeeded);crypt.getRandomValues(byteArray);let p=(bytesNeeded-1)*8;for(var i=0;i<bytesNeeded;i++){rval+=byteArray[i]*Math.pow(2,p);p-=8}rval=rval&mask;if(rval>=range){return create(min,max)}return min+rval}Monster.assignToNamespace("Monster.Math",random);export{Monster,random}; diff --git a/packages/monster/dist/modules/monster.js b/packages/monster/dist/modules/monster.js index 63cc6b46d..f021985d3 100644 --- a/packages/monster/dist/modules/monster.js +++ b/packages/monster/dist/modules/monster.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"./namespace.js";import"./types/base.js";import"./types/global.js";import"./types/id.js";import"./types/is.js";import"./types/observer.js";import"./types/observerlist.js";import"./types/proxyobserver.js";import"./types/queue.js";import"./types/randomid.js";import"./types/stack.js";import"./types/tokenlist.js";import"./types/uniquequeue.js";import"./types/validate.js";import"./types/version.js";import"./math/random.js";import"./data/diff.js";import"./data/pathfinder.js";import"./data/pipe.js";import"./data/transformer.js";import"./logging/handler.js";import"./logging/logentry.js";import"./logging/logger.js";import"./logging/handler/console.js";import"./util/clone.js";import"./util/comparator.js";import"./util/freeze.js";import"./constraints/abstract.js";import"./constraints/abstractoperator.js";import"./constraints/andoperator.js";import"./constraints/invalid.js";import"./constraints/isarray.js";import"./constraints/isobject.js";import"./constraints/oroperator.js";import"./constraints/valid.js";import"./dom/util.js";import"./dom/template.js";import"./dom/handle.js";import"./dom/assembler.js";import"./dom/customelement.js";Monster.Util.deepFreeze(Monster);export{Monster};let rootName;try{rootName=Monster.Types.getGlobalObject("__MonsterRootName__")}catch(e){}if(!rootName)rootName="Monster";Monster.Types.getGlobal()[rootName]=Monster; diff --git a/packages/monster/dist/modules/namespace.js b/packages/monster/dist/modules/namespace.js index ee70c4cfe..d893c90df 100644 --- a/packages/monster/dist/modules/namespace.js +++ b/packages/monster/dist/modules/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';class Namespace{constructor(namespace){if(namespace===undefined||typeof namespace!=="string"){throw new Error("namespace is not a string")}this.namespace=namespace}getNamespace(){return this.namespace}toString(){return this.getNamespace()}}export const Monster=new Namespace("Monster");assignToNamespace("Monster",assignToNamespace);function assignToNamespace(ns,...obj){let current=namespaceFor(ns.split("."));for(let i=0,l=obj.length;i<l;i++){current[objectName(obj[i])]=obj[i]}}function objectName(fn){try{if(typeof fn!=="function"){throw new Error("the first argument is not a function or class.")}if(fn.hasOwnProperty("name")){return fn.name}if("function"===typeof fn.toString){let s=fn.toString();let f=s.match(/^\s*function\s+([^\s(]+)/);if(Array.isArray(f)&&typeof f[1]==="string"){return f[1]}let c=s.match(/^\s*class\s+([^\s(]+)/);if(Array.isArray(c)&&typeof c[1]==="string"){return c[1]}}}catch(e){throw new Error("exception "+e)}throw new Error("the name of the class or function cannot be resolved.")}function namespaceFor(parts){var space=Monster,ns="Monster";for(let i=0;i<parts.length;i++){if("Monster"===parts[i]){continue}ns+="."+parts[i];if(!space.hasOwnProperty(parts[i])){space[parts[i]]=new Namespace(ns)}space=space[parts[i]]}return space}export{assignToNamespace}; diff --git a/packages/monster/dist/modules/types/base.js b/packages/monster/dist/modules/types/base.js index 7f8faa02c..01acf7384 100644 --- a/packages/monster/dist/modules/types/base.js +++ b/packages/monster/dist/modules/types/base.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";class Base extends Object{toString(){return JSON.stringify(this)}}Monster.assignToNamespace("Monster.Types",Base);export{Monster,Base}; diff --git a/packages/monster/dist/modules/types/global.js b/packages/monster/dist/modules/types/global.js index 084143ddc..2949093d3 100644 --- a/packages/monster/dist/modules/types/global.js +++ b/packages/monster/dist/modules/types/global.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{validateFunction,validateString,validateObject}from"./validate.js";var globalReference;(function(){if(typeof globalThis==="object"){globalReference=globalThis;return}Object.defineProperty(Object.prototype,"__monster__",{get:function(){return this},configurable:true});__monster__.globalThis=__monster__;delete Object.prototype.__monster__;globalReference=globalThis})();function getGlobal(){return globalReference}function getGlobalObject(name){validateString(name);let o=globalReference?.[name];if(typeof o==="undefined")throw new Error("the object "+name+" is not defined");validateObject(o);return o}function getGlobalFunction(name){validateString(name);let f=globalReference?.[name];if(typeof f==="undefined")throw new Error("the function "+name+" is not defined");validateFunction(f);return f}Monster.assignToNamespace("Monster.Types",getGlobal,getGlobalObject,getGlobalFunction);export{Monster,getGlobal,getGlobalObject,getGlobalFunction}; diff --git a/packages/monster/dist/modules/types/id.js b/packages/monster/dist/modules/types/id.js index 8da922790..7b78f7a73 100644 --- a/packages/monster/dist/modules/types/id.js +++ b/packages/monster/dist/modules/types/id.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,Base}from"./base.js";import{validateString}from"./validate.js";let internalCounter=new Map;class ID extends Base{constructor(prefix){super();if(prefix===undefined){prefix="id"}validateString(prefix);if(!internalCounter.has(prefix)){internalCounter.set(prefix,1)}let count=internalCounter.get(prefix);this.id=prefix+count;internalCounter.set(prefix,++count)}toString(){return this.id}}Monster.assignToNamespace("Monster.Types",ID);export{Monster,ID}; diff --git a/packages/monster/dist/modules/types/is.js b/packages/monster/dist/modules/types/is.js index 8b3c11103..4ed0c7c14 100644 --- a/packages/monster/dist/modules/types/is.js +++ b/packages/monster/dist/modules/types/is.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";function isIterable(value){if(value===undefined)return false;if(value===null)return false;return typeof value?.[Symbol.iterator]==="function"}function isPrimitive(value){var type;if(value===undefined||value===null||value===NaN){return true}type=typeof value;if(type==="string"||type==="number"||type==="boolean"||type==="symbol"){return true}return false}function isBoolean(value){if(value===true||value===false){return true}return false}function isString(value){if(value===undefined||typeof value!=="string"){return false}return true}function isObject(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(typeof value==="object"){return true}return false}function isInstance(value,instance){if(!isObject(value))return false;if(!isFunction(instance))return false;if(!instance.hasOwnProperty("prototype"))return false;return value instanceof instance?true:false}function isArray(value){if(Array.isArray(value)){return true}return false}function isFunction(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(typeof value==="function"){return true}return false}function isInteger(value){return Number.isInteger(value)}Monster.assignToNamespace("Monster.Types",isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInteger);export{Monster,isPrimitive,isBoolean,isString,isObject,isInstance,isArray,isFunction,isIterable,isInteger}; diff --git a/packages/monster/dist/modules/types/namespace.js b/packages/monster/dist/modules/types/namespace.js index 4a1fdad04..4df72695f 100644 --- a/packages/monster/dist/modules/types/namespace.js +++ b/packages/monster/dist/modules/types/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Types"; diff --git a/packages/monster/dist/modules/types/observer.js b/packages/monster/dist/modules/types/observer.js index 7643bfe50..7ade5a513 100644 --- a/packages/monster/dist/modules/types/observer.js +++ b/packages/monster/dist/modules/types/observer.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ -'use strict';import{Monster}from"../namespace.js";import{TokenList}from"./tokenlist.js";import{isObject}from"./is.js";import{Base}from"./base.js";import{UniqueQueue}from"./uniquequeue.js";class Observer extends Base{constructor(callback,...args){super();if(typeof callback!=="function"){throw new Error("observer callback must be a function")}this.callback=callback;this.arguments=args;this.tags=new TokenList;this.queue=new UniqueQueue}addTag(tag){this.tags.add(tag);return this}removeTag(tag){this.tags.remove(tag);return this}getTags(){return this.tags.entries()}hasTag(tag){return this.tags.contains(tag)}update(subject){let self=this;return new Promise(function(resolve,reject){if(!isObject(subject)){reject("subject must be an object");return}self.queue.add(subject);setTimeout(()=>{if(self.queue.isEmpty()){resolve();return}let s=self.queue.poll();let result=self.callback.apply(s,self.arguments);if(isObject(result)&&result instanceof Promise){result.then(resolve).catch(reject);return}resolve(result)},0)})}}Monster.assignToNamespace("Monster.Types",Observer);export{Monster,Observer}; +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +'use strict';import{Monster}from"../namespace.js";import{TokenList}from"./tokenlist.js";import{isObject}from"./is.js";import{Base}from"./base.js";import{UniqueQueue}from"./uniquequeue.js";class Observer extends Base{constructor(callback,...args){super();if(typeof callback!=="function"){throw new Error("observer callback must be a function")}this.callback=callback;this.arguments=args;this.tags=new TokenList;this.queue=new UniqueQueue}addTag(tag){this.tags.add(tag);return this}removeTag(tag){this.tags.remove(tag);return this}getTags(){return this.tags.entries()}hasTag(tag){return this.tags.contains(tag)}update(subject){let self=this;return new Promise(function(resolve,reject){if(!isObject(subject)){reject("subject must be an object");return}self.queue.add(subject);setTimeout(()=>{try{if(self.queue.isEmpty()){resolve();return}let s=self.queue.poll();let result=self.callback.apply(s,self.arguments);if(isObject(result)&&result instanceof Promise){result.then(resolve).catch(reject);return}resolve(result)}catch(e){reject(e)}},0)})}}Monster.assignToNamespace("Monster.Types",Observer);export{Monster,Observer}; diff --git a/packages/monster/dist/modules/types/observerlist.js b/packages/monster/dist/modules/types/observerlist.js index 8a98482d7..7af101e47 100644 --- a/packages/monster/dist/modules/types/observerlist.js +++ b/packages/monster/dist/modules/types/observerlist.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";import{Observer}from"./observer.js";import{validateInstance}from"./validate.js";class ObserverList extends Base{constructor(){super();this.observers=[]}attach(observer){validateInstance(observer,Observer);this.observers.push(observer);return this}detach(observer){validateInstance(observer,Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){this.observers.splice(i,1)}}return this}contains(observer){validateInstance(observer,Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){return true}}return false}notify(subject){let pomises=[];var i=0,l=this.observers.length;for(;i<l;i++){pomises.push(this.observers[i].update(subject))}return Promise.all(pomises)}}Monster.assignToNamespace("Monster.Types",ObserverList);export{Monster,ObserverList}; diff --git a/packages/monster/dist/modules/types/proxyobserver.js b/packages/monster/dist/modules/types/proxyobserver.js index 9c1311d9b..a24f2904a 100644 --- a/packages/monster/dist/modules/types/proxyobserver.js +++ b/packages/monster/dist/modules/types/proxyobserver.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ -'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";import{validateObject}from"./validate.js";import{ObserverList}from"./observerlist.js";import{Observer}from"./observer.js";import{isObject,isArray,isPrimitive}from"./is.js";class ProxyObserver extends Base{constructor(object){super();validateObject(object);this.realSubject=object;this.subject=new Proxy(object,getHandler.call(this));this.objectMap=new WeakMap;this.objectMap.set(this.realSubject,this.subject);this.observers=new ObserverList}getSubject(){return this.subject}getRealSubject(){return this.realSubject}attachObserver(observer){this.observers.attach(observer);return this}detachObserver(observer){this.observers.detach(observer);return this}notifyObservers(){this.observers.notify(this);return this}containsObserver(observer){return this.observers.contains(observer)}}Monster.assignToNamespace("Monster.Types",ProxyObserver);export{Monster,ProxyObserver};function getHandler(){const proxy=this;const handler={get:function(target,key,receiver){const value=Reflect.get(target,key,receiver);if(typeof key==="symbol"){return value}if(isPrimitive(value)){return value}if(isArray(value)||isObject(value)){if(proxy.objectMap.has(value)){return proxy.objectMap.get(value)}else{let p=new Proxy(value,handler);proxy.objectMap.set(value,p);return p}}return value},set:function(target,key,value,receiver){const result=Reflect.set(target,key,value,receiver);if(typeof property!=="symbol"){proxy.observers.notify(proxy)}return result},deleteProperty:function(target,key){if(key in target){delete target[key];if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return true}return false},defineProperty:function(target,key,descriptor){let result=Reflect.defineProperty(target,key,descriptor);if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return result},setPrototypeOf:function(target,key){let result=Reflect.setPrototypeOf(object1,key);if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return result}};return handler} +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";import{validateObject}from"./validate.js";import{ObserverList}from"./observerlist.js";import{Observer}from"./observer.js";import{isObject,isArray,isPrimitive}from"./is.js";class ProxyObserver extends Base{constructor(object){super();validateObject(object);this.realSubject=object;this.subject=new Proxy(object,getHandler.call(this));this.objectMap=new WeakMap;this.objectMap.set(this.realSubject,this.subject);this.observers=new ObserverList}getSubject(){return this.subject}getRealSubject(){return this.realSubject}attachObserver(observer){this.observers.attach(observer);return this}detachObserver(observer){this.observers.detach(observer);return this}notifyObservers(){return this.observers.notify(this)}containsObserver(observer){return this.observers.contains(observer)}}Monster.assignToNamespace("Monster.Types",ProxyObserver);export{Monster,ProxyObserver};function getHandler(){const proxy=this;const handler={get:function(target,key,receiver){const value=Reflect.get(target,key,receiver);if(typeof key==="symbol"){return value}if(isPrimitive(value)){return value}if(isArray(value)||isObject(value)){if(proxy.objectMap.has(value)){return proxy.objectMap.get(value)}else{let p=new Proxy(value,handler);proxy.objectMap.set(value,p);return p}}return value},set:function(target,key,value,receiver){const result=Reflect.set(target,key,value,receiver);if(typeof property!=="symbol"){proxy.observers.notify(proxy)}return result},deleteProperty:function(target,key){if(key in target){delete target[key];if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return true}return false},defineProperty:function(target,key,descriptor){let result=Reflect.defineProperty(target,key,descriptor);if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return result},setPrototypeOf:function(target,key){let result=Reflect.setPrototypeOf(object1,key);if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return result}};return handler} diff --git a/packages/monster/dist/modules/types/queue.js b/packages/monster/dist/modules/types/queue.js index 43b4a74d4..0fa25c496 100644 --- a/packages/monster/dist/modules/types/queue.js +++ b/packages/monster/dist/modules/types/queue.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ import{Monster,Base}from"./base.js";class Queue extends Base{constructor(){super();this.data=[]}isEmpty(){return this.data.length===0}peek(){if(this.isEmpty()){return undefined}return this.data[0]}add(value){this.data.push(value);return this}clear(){this.data=[];return this}poll(){if(this.isEmpty()){return undefined}return this.data.shift()}}Monster.assignToNamespace("Monster.Types",Queue);export{Monster,Queue}; diff --git a/packages/monster/dist/modules/types/randomid.js b/packages/monster/dist/modules/types/randomid.js index 9469adfb7..dd06cd890 100644 --- a/packages/monster/dist/modules/types/randomid.js +++ b/packages/monster/dist/modules/types/randomid.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,ID}from"./id.js";import{getGlobal}from"./global.js";import{random}from"../math/random.js";let internalCounter=0;class RandomID extends ID{constructor(){super();internalCounter+=1;this.id=getGlobal().btoa(random(1,10000)).replace(/=/g,"").replace(/^[0-9]+/,"X")+internalCounter}}Monster.assignToNamespace("Monster.Types",RandomID);export{Monster,RandomID}; diff --git a/packages/monster/dist/modules/types/stack.js b/packages/monster/dist/modules/types/stack.js index 904c3449c..9462c459f 100644 --- a/packages/monster/dist/modules/types/stack.js +++ b/packages/monster/dist/modules/types/stack.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ import{Monster,Base}from"./base.js";class Stack extends Base{constructor(){super();this.data=[]}isEmpty(){return this.data.length===0}peek(){if(this.isEmpty()){return undefined}return this.data?.[this.data.length-1]}push(value){this.data.push(value);return this}clear(){this.data=[];return this}pop(){if(this.isEmpty()){return undefined}return this.data.pop()}}Monster.assignToNamespace("Monster.Types",Stack);export{Monster,Stack}; diff --git a/packages/monster/dist/modules/types/tokenlist.js b/packages/monster/dist/modules/types/tokenlist.js index f2ed1b0df..193779eb7 100644 --- a/packages/monster/dist/modules/types/tokenlist.js +++ b/packages/monster/dist/modules/types/tokenlist.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";import{isString,isIterable}from"../types/is.js";import{validateString,validateFunction}from"../types/validate.js";class TokenList extends Base{constructor(init){super();this.tokens=new Set;if(typeof init!=="undefined"){this.add(init)}}getIterator(){return this[Symbol.iterator]()}[Symbol.iterator](){let index=0;let entries=this.entries();return{next:()=>{if(index<entries.length){return{value:entries?.[index++],done:false}}else{return{done:true}}}}}contains(value){if(isString(value)){value=value.trim();let counter=0;value.split(" ").forEach(token=>{if(this.tokens.has(token.trim())===false)return false;counter++});return counter>0?true:false}if(isIterable(value)){let counter=0;for(let token of value){validateString(token);if(this.tokens.has(token.trim())===false)return false;counter++}return counter>0?true:false}return false}add(value){if(isString(value)){value.split(" ").forEach(token=>{this.tokens.add(token.trim())})}else if(isIterable(value)){for(let token of value){validateString(token);this.tokens.add(token.trim())}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}clear(){this.tokens.clear();return this}remove(value){if(isString(value)){value.split(" ").forEach(token=>{this.tokens.delete(token.trim())})}else if(isIterable(value)){for(let token of value){validateString(token);this.tokens.delete(token.trim())}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}replace(token,newToken){validateString(token);validateString(newToken);if(!this.contains(token)){return this}let a=Array.from(this.tokens);let i=a.indexOf(token);if(i===-1)return this;a.splice(i,1,newToken);this.tokens=new Set;this.add(a);return this}toggle(value){if(isString(value)){value.split(" ").forEach(token=>{toggleValue.call(this,token)})}else if(isIterable(value)){for(let token of value){toggleValue.call(this,token)}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}entries(){return Array.from(this.tokens)}forEach(callback){validateFunction(callback);this.tokens.forEach(callback);return this}toString(){return this.entries().join(" ")}}function toggleValue(token){if(!(this instanceof TokenList))throw Error("must be called with TokenList.call");validateString(token);token=token.trim();if(this.contains(token)){this.remove(token);return this}this.add(token);return this}Monster.assignToNamespace("Monster.Types",TokenList);export{Monster,TokenList}; diff --git a/packages/monster/dist/modules/types/typeof.js b/packages/monster/dist/modules/types/typeof.js index 002ea9343..3fb3024c5 100644 --- a/packages/monster/dist/modules/types/typeof.js +++ b/packages/monster/dist/modules/types/typeof.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";function typeOf(value){let type={}.toString.call(value).match(/\s([a-zA-Z]+)/)[1];if("Object"===type){const results=/^(class|function)\s+(\w+)/.exec(value.constructor.toString());type=results&&results.length>2?results[2]:""}return type.toLowerCase()}Monster.assignToNamespace("Monster.Types",typeOf);export{Monster,typeOf}; diff --git a/packages/monster/dist/modules/types/uniquequeue.js b/packages/monster/dist/modules/types/uniquequeue.js index 95b12757f..50815263d 100644 --- a/packages/monster/dist/modules/types/uniquequeue.js +++ b/packages/monster/dist/modules/types/uniquequeue.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ import{Monster,Queue}from"./queue.js";import{validateObject}from"./validate.js";class UniqueQueue extends Queue{constructor(){super();this.unique=new WeakSet}add(value){validateObject(value);if(!this.unique.has(value)){this.unique.add(value);super.add(value)}return this}clear(){super.clear();this.unique=new WeakSet;return this}poll(){if(this.isEmpty()){return undefined}let value=this.data.shift();this.unique.delete(value);return value}}Monster.assignToNamespace("Monster.Types",UniqueQueue);export{Monster,UniqueQueue}; diff --git a/packages/monster/dist/modules/types/validate.js b/packages/monster/dist/modules/types/validate.js index d304259c3..a69741c48 100644 --- a/packages/monster/dist/modules/types/validate.js +++ b/packages/monster/dist/modules/types/validate.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ -'use strict';import{Monster}from"../namespace.js";import{isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInstance,isInteger}from"./is.js";function validateIterable(value){if(!isIterable(value)){throw new TypeError("value is not iterable")}}function validatePrimitive(value){if(!isPrimitive(value)){throw new TypeError("value is not a primitive")}}function validateBoolean(value){if(!isBoolean(value)){throw new TypeError("value is not a boolean")}}function validateString(value){if(!isString(value)){throw new TypeError("value is not a string")}}function validateObject(value){if(!isObject(value)){throw new TypeError("value is not a object")}}function validateInstance(value,instance){if(!isInstance(value,instance)){let n="";if(isObject(instance)||isFunction(instance)){n=instance?.["name"]}if(n){n=" "+n}throw new TypeError("value is not an instance of"+n)}}function validateArray(value){if(!isArray(value)){throw new TypeError("value is not an array")}}function validateFunction(value){if(!isFunction(value)){throw new TypeError("value is not a function")}}function validateInteger(value){if(!isInteger(value)){throw new TypeError("value is not an integer")}}Monster.assignToNamespace("Monster.Types",validatePrimitive,validateBoolean,validateString,validateObject,validateArray,validateFunction,validateIterable,validateInteger);export{Monster,validatePrimitive,validateBoolean,validateString,validateObject,validateInstance,validateArray,validateFunction,validateIterable,validateInteger}; +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +'use strict';import{Monster}from"../namespace.js";import{isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInstance,isInteger}from"./is.js";function validateIterable(value){if(!isIterable(value)){throw new TypeError("value is not iterable")}return value}function validatePrimitive(value){if(!isPrimitive(value)){throw new TypeError("value is not a primitive")}return value}function validateBoolean(value){if(!isBoolean(value)){throw new TypeError("value is not a boolean")}return value}function validateString(value){if(!isString(value)){throw new TypeError("value is not a string")}return value}function validateObject(value){if(!isObject(value)){throw new TypeError("value is not a object")}return value}function validateInstance(value,instance){if(!isInstance(value,instance)){let n="";if(isObject(instance)||isFunction(instance)){n=instance?.["name"]}if(n){n=" "+n}throw new TypeError("value is not an instance of"+n)}return value}function validateArray(value){if(!isArray(value)){throw new TypeError("value is not an array")}return value}function validateFunction(value){if(!isFunction(value)){throw new TypeError("value is not a function")}return value}function validateInteger(value){if(!isInteger(value)){throw new TypeError("value is not an integer")}return value}Monster.assignToNamespace("Monster.Types",validatePrimitive,validateBoolean,validateString,validateObject,validateArray,validateFunction,validateIterable,validateInteger);export{Monster,validatePrimitive,validateBoolean,validateString,validateObject,validateInstance,validateArray,validateFunction,validateIterable,validateInteger}; diff --git a/packages/monster/dist/modules/types/version.js b/packages/monster/dist/modules/types/version.js index 66e62fcd1..0569fe0d6 100644 --- a/packages/monster/dist/modules/types/version.js +++ b/packages/monster/dist/modules/types/version.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ -'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";class Version extends Base{constructor(major,minor,patch){super();if(typeof major==="string"&&minor===undefined&&patch===undefined){let parts=major.toString().split(".");major=parseInt(parts[0]||0);minor=parseInt(parts[1]||0);patch=parseInt(parts[2]||0)}if(major===undefined){throw new Error("major version is undefined")}if(minor===undefined){minor=0}if(patch===undefined){patch=0}this.major=parseInt(major);this.minor=parseInt(minor);this.patch=parseInt(patch);if(isNaN(this.major)){throw new Error("major is not a number")}if(isNaN(this.minor)){throw new Error("minor is not a number")}if(isNaN(this.patch)){throw new Error("patch is not a number")}}toString(){return this.major+"."+this.minor+"."+this.patch}compareTo(version){if(version instanceof Version){version=version.toString()}if(typeof version!=="string"){throw new Error("type exception")}if(version===this.toString()){return 0}let a=[this.major,this.minor,this.patch];let b=version.split(".");let len=Math.max(a.length,b.length);for(let i=0;i<len;i+=1){if(a[i]&&!b[i]&&parseInt(a[i])>0||parseInt(a[i])>parseInt(b[i])){return 1}else if(b[i]&&!a[i]&&parseInt(b[i])>0||parseInt(a[i])<parseInt(b[i])){return-1}}return 0}}Monster.assignToNamespace("Monster.Types",Version);let monsterVersion;function getVersion(){if(monsterVersion instanceof Version){return monsterVersion}monsterVersion=new Version("1.7.0");return monsterVersion}Monster.assignToNamespace("Monster",getVersion);export{Monster,Version,getVersion}; +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";class Version extends Base{constructor(major,minor,patch){super();if(typeof major==="string"&&minor===undefined&&patch===undefined){let parts=major.toString().split(".");major=parseInt(parts[0]||0);minor=parseInt(parts[1]||0);patch=parseInt(parts[2]||0)}if(major===undefined){throw new Error("major version is undefined")}if(minor===undefined){minor=0}if(patch===undefined){patch=0}this.major=parseInt(major);this.minor=parseInt(minor);this.patch=parseInt(patch);if(isNaN(this.major)){throw new Error("major is not a number")}if(isNaN(this.minor)){throw new Error("minor is not a number")}if(isNaN(this.patch)){throw new Error("patch is not a number")}}toString(){return this.major+"."+this.minor+"."+this.patch}compareTo(version){if(version instanceof Version){version=version.toString()}if(typeof version!=="string"){throw new Error("type exception")}if(version===this.toString()){return 0}let a=[this.major,this.minor,this.patch];let b=version.split(".");let len=Math.max(a.length,b.length);for(let i=0;i<len;i+=1){if(a[i]&&!b[i]&&parseInt(a[i])>0||parseInt(a[i])>parseInt(b[i])){return 1}else if(b[i]&&!a[i]&&parseInt(b[i])>0||parseInt(a[i])<parseInt(b[i])){return-1}}return 0}}Monster.assignToNamespace("Monster.Types",Version);let monsterVersion;function getVersion(){if(monsterVersion instanceof Version){return monsterVersion}monsterVersion=new Version("1.8.0");return monsterVersion}Monster.assignToNamespace("Monster",getVersion);export{Monster,Version,getVersion}; diff --git a/packages/monster/dist/modules/util/clone.js b/packages/monster/dist/modules/util/clone.js index bf5340bce..07a61c3a8 100644 --- a/packages/monster/dist/modules/util/clone.js +++ b/packages/monster/dist/modules/util/clone.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{isObject,isFunction,isPrimitive,isArray}from"../types/is.js";import{getGlobal}from"../types/global.js";function clone(obj){if(null===obj){return obj}if(isPrimitive(obj)){return obj}if(isFunction(obj)){return obj}if(isArray(obj)){let copy=[];for(var i=0,len=obj.length;i<len;i++){copy[i]=clone(obj[i])}return copy}if(isObject(obj)){if(obj instanceof Date){let copy=new Date;copy.setTime(obj.getTime());return copy}if(typeof Element!=="undefined"&&obj instanceof Element)return obj;if(typeof HTMLDocument!=="undefined"&&obj instanceof HTMLDocument)return obj;if(typeof DocumentFragment!=="undefined"&&obj instanceof DocumentFragment)return obj;if(obj===getGlobal())return obj;if(typeof globalContext!=="undefined"&&obj===globalContext)return obj;if(typeof window!=="undefined"&&obj===window)return obj;if(typeof document!=="undefined"&&obj===document)return obj;if(typeof navigator!=="undefined"&&obj===navigator)return obj;if(typeof JSON!=="undefined"&&obj===JSON)return obj;try{if(obj instanceof Proxy){return obj}}catch(e){}return cloneObject(obj)}throw new Error("unable to clone obj! its type isn't supported.")}function cloneObject(obj){var copy;if(typeof obj.hasOwnProperty("getClone")&&obj.getClone==="function"){return obj.getClone()}copy={};if(typeof obj.constructor==="function"&&typeof obj.constructor.call==="function"){copy=new obj.constructor}for(let key in obj){if(!obj.hasOwnProperty(key)){continue}if(Monster.Types.isPrimitive(obj[key])){copy[key]=obj[key];continue}copy[key]=clone(obj[key])}return copy}Monster.assignToNamespace("Monster.Util",clone);export{Monster,clone}; diff --git a/packages/monster/dist/modules/util/comparator.js b/packages/monster/dist/modules/util/comparator.js index ab226bc6a..0d7bb212f 100644 --- a/packages/monster/dist/modules/util/comparator.js +++ b/packages/monster/dist/modules/util/comparator.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster,Base}from"../types/base.js";import{isFunction}from"../types/is.js";class Comparator extends Base{constructor(callback){super();if(isFunction(callback)){this.compare=callback}else if(callback!==undefined){throw new TypeError("unsupported type")}else{this.compare=function(a,b){if(typeof a!==typeof b){throw new TypeError("impractical comparison")}if(a===b){return 0}return a<b?-1:1}}}reverse(){const original=this.compare;this.compare=(a,b)=>original(b,a);return this}equal(a,b){return this.compare(a,b)===0}greaterThan(a,b){return this.compare(a,b)>0}greaterThanOrEqual(a,b){return this.greaterThan(a,b)||this.equal(a,b)}lessThanOrEqual(a,b){return this.lessThan(a,b)||this.equal(a,b)}lessThan(a,b){return this.compare(a,b)<0}}Monster.assignToNamespace("Monster.Util",Comparator);export{Monster,Comparator}; diff --git a/packages/monster/dist/modules/util/freeze.js b/packages/monster/dist/modules/util/freeze.js index 5c9a032ea..a8c5d68aa 100644 --- a/packages/monster/dist/modules/util/freeze.js +++ b/packages/monster/dist/modules/util/freeze.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';import{Monster}from"../namespace.js";import{validateObject}from"../types/validate.js";function deepFreeze(object){validateObject(object);var propNames=Object.getOwnPropertyNames(object);for(let name of propNames){let value=object[name];object[name]=value&&typeof value==="object"?deepFreeze(value):value}return Object.freeze(object)}Monster.assignToNamespace("Monster.Util",deepFreeze);export{Monster,deepFreeze}; diff --git a/packages/monster/dist/modules/util/namespace.js b/packages/monster/dist/modules/util/namespace.js index d831f7a15..6772720b2 100644 --- a/packages/monster/dist/modules/util/namespace.js +++ b/packages/monster/dist/modules/util/namespace.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ 'use strict';const namespace="Monster.Util"; diff --git a/packages/monster/dist/monster.dev.js b/packages/monster/dist/monster.dev.js index 5b2478a26..601c47fd4 100644 --- a/packages/monster/dist/monster.dev.js +++ b/packages/monster/dist/monster.dev.js @@ -85,7 +85,7 @@ exports.AbstractConstraint = AbstractConstraint; _namespace.Monster.assignToNamespace('Monster.Constraints', AbstractConstraint); -},{"../namespace.js":25,"../types/base.js":26}],2:[function(require,module,exports){ +},{"../namespace.js":26,"../types/base.js":27}],2:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -211,7 +211,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; * new Monster.Constraint.AndOperator(); * </script> * ``` @@ -220,16 +220,16 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; + * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; * new AndOperator(); * </script> * ``` * * @example * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; - * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; * * new AndOperator( * new Valid(), new Valid()).isValid() @@ -327,7 +327,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; * new Monster.Constraint.Invalid(); * </script> * ``` @@ -336,14 +336,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; * new Invalid(); * </script> * ``` * * @example * - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; * * new Invalid().isValid() * .then(()=>console.log(true)) @@ -434,7 +434,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; * console.log(new Monster.Constraint.IsArray()) * </script> * ``` @@ -443,14 +443,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; + * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; * console.log(new IsArray()) * </script> * ``` * * @example * - * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; + * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; * * new IsArray() * .isValid([]) @@ -502,7 +502,7 @@ exports.IsArray = IsArray; _abstract.Monster.assignToNamespace('Monster.Constraints', IsArray); -},{"../types/is.js":29,"./abstract.js":1}],6:[function(require,module,exports){ +},{"../types/is.js":30,"./abstract.js":1}],6:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -550,7 +550,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; * console.log(new Monster.Constraint.IsObject()) * </script> * ``` @@ -559,14 +559,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; + * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; * console.log(new IsObject()) * </script> * ``` * * @example * - * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; + * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; * * new IsObject() * .isValid({}) @@ -619,7 +619,7 @@ exports.IsObject = IsObject; _abstract.Monster.assignToNamespace('Monster.Constraints', IsObject); -},{"../types/is.js":29,"./abstract.js":1}],7:[function(require,module,exports){ +},{"../types/is.js":30,"./abstract.js":1}],7:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -665,7 +665,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js'; * new Monster.Constraint.OrOperator(); * </script> * ``` @@ -674,16 +674,16 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js'; + * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js'; * new OrOperator(); * </script> * ``` * * @example * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; - * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/oroperator.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js'; * * new OrOperator( * new Valid(), new Invalid()).isValid() @@ -804,7 +804,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; * new Monster.Constraint.Valid(); * </script> * ``` @@ -813,14 +813,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; * new Valid(); * </script> * ``` * * @example * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; * * new Valid().isValid() * .then(()=>console.log(true)) @@ -893,7 +893,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; * console.log(Monster.Data.Diff(a, b)) * </script> * ``` @@ -902,14 +902,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; + * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; * console.log(Diff(a, b)) * </script> * ``` * * @example * - * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; + * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; * * // given are two objects x and y. * @@ -1128,7 +1128,7 @@ function getOperator(a, b) { _is.Monster.assignToNamespace('Monster.Data', Diff); -},{"../types/is.js":29}],10:[function(require,module,exports){ +},{"../types/is.js":30}],10:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -1215,7 +1215,7 @@ var WILDCARD = '*'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; * console.log(new Monster.Data.Pathfinder()) * </script> * ``` @@ -1224,7 +1224,7 @@ var WILDCARD = '*'; * * ``` * <script type="module"> - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; * console.log(new Pathfinder()) * </script> * ``` @@ -1266,7 +1266,7 @@ var WILDCARD = '*'; * * @example * - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; * * let value = new Pathfinder({ * a: { @@ -1292,7 +1292,7 @@ var WILDCARD = '*'; * * @example * - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; * * let p = new Pathfinder({ * a: { @@ -1638,7 +1638,7 @@ function deleteValueViaPath(object, path) { return; } -},{"../namespace.js":25,"../types/base.js":26,"../types/is.js":29,"../types/stack.js":35,"../types/validate.js":38}],11:[function(require,module,exports){ +},{"../namespace.js":26,"../types/base.js":27,"../types/is.js":30,"../types/stack.js":36,"../types/validate.js":39}],11:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -1665,6 +1665,18 @@ var _base = require("../types/base.js"); var _validate = require("../types/validate.js"); +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } @@ -1693,7 +1705,7 @@ var DELIMITER = '|'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; * console.log(new Monster.Data.Pipe()) * </script> * ``` @@ -1702,7 +1714,7 @@ var DELIMITER = '|'; * * ``` * <script type="module"> - * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; + * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; * console.log(new Pipe()) * </script> * ``` @@ -1713,7 +1725,7 @@ var DELIMITER = '|'; * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char. * * @example - * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; + * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; * * let obj = { * a: { @@ -1756,18 +1768,41 @@ var Pipe = /*#__PURE__*/function (_Base) { return _this; } /** - * run a pipe * - * @param {*} value - * @returns {*} + * @param {string} name + * @param {function} callback + * @returns {Transformer} + * @throws {TypeError} value is not a string + * @throws {TypeError} value is not a function */ _createClass(Pipe, [{ + key: "setCallback", + value: function setCallback(name, callback) { + for (var _i = 0, _Object$entries = Object.entries(this.pipe); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + t = _Object$entries$_i[1]; + + t.setCallback(name, callback); + } + + return this; // return this.pipe.reduce((accumulator, transformer, currentIndex, array) => { + // return transformer.setCallback(name,callback); + // }, value); + } + /** + * run a pipe + * + * @param {*} value + * @returns {*} + */ + + }, { key: "run", value: function run(value) { - return this.pipe.reduce(function (accumulator, currentValue, currentIndex, array) { - return currentValue.run(accumulator); + return this.pipe.reduce(function (accumulator, transformer, currentIndex, array) { + return transformer.run(accumulator); }, value); } }]); @@ -1779,7 +1814,7 @@ exports.Pipe = Pipe; _namespace.Monster.assignToNamespace('Monster.Data', Pipe); -},{"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38,"./transformer.js":12}],12:[function(require,module,exports){ +},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39,"./transformer.js":12}],12:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -1855,7 +1890,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; * console.log(new Monster.Data.Transformer()) * </script> * ``` @@ -1864,7 +1899,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; + * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; * console.log(new Transformer()) * </script> * ``` @@ -1896,6 +1931,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * | substring | start:length | | Returns a substring | * | suffix | text | | Adds a suffix | * | tointeger | | | Type conversion to an integer value | + * | tojson | | | Type conversion to an JSON string (since 1.8.0) | * | tolower | | strtolower, tolowercase | The input value is converted to lowercase letters | * | tostring | | | Type conversion to a string | * | toupper | | strtoupper, touppercase | The input value is converted to uppercase letters | @@ -1940,7 +1976,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * @example * - * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; + * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; * * const transformer = new Transformer("tolower") * @@ -2140,6 +2176,9 @@ function transform(value) { (0, _validate.validateInteger)(n); return n; + case 'tojson': + return JSON.stringify(value); + case 'trim': (0, _validate.validateString)(value); return value.trim(); @@ -2158,7 +2197,7 @@ function transform(value) { var callback; var callbackName = args.shift(); - if ((0, _is.isObject)(value) && calue.hasOwnProperty(callbackName)) { + if ((0, _is.isObject)(value) && value.hasOwnProperty(callbackName)) { callback = value[callbackName]; } else if (this.callbacks.has(callbackName)) { callback = this.callbacks.get(callbackName); @@ -2287,7 +2326,7 @@ function transform(value) { return value; } -},{"../namespace.js":25,"../types/base.js":26,"../types/id.js":28,"../types/is.js":29,"../types/validate.js":38,"../util/clone.js":40,"./pathfinder.js":10}],13:[function(require,module,exports){ +},{"../namespace.js":26,"../types/base.js":27,"../types/id.js":29,"../types/is.js":30,"../types/validate.js":39,"../util/clone.js":41,"./pathfinder.js":10}],13:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -2346,7 +2385,7 @@ var ATTRIBUTEPREFIX = "data-monster-"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js'; * console.log(new Monster.DOM.Assembler()) * </script> * ``` @@ -2355,7 +2394,7 @@ var ATTRIBUTEPREFIX = "data-monster-"; * * ``` * <script type="module"> - * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js'; + * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js'; * console.log(new Assembler()) * </script> * ``` @@ -2441,7 +2480,106 @@ exports.Assembler = Assembler; _base.Monster.assignToNamespace('Monster.DOM', Assembler); -},{"../types/base.js":26,"../types/global.js":27,"../types/proxyobserver.js":32,"../types/validate.js":38}],14:[function(require,module,exports){ +},{"../types/base.js":27,"../types/global.js":28,"../types/proxyobserver.js":33,"../types/validate.js":39}],14:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "Monster", { + enumerable: true, + get: function get() { + return _namespace.Monster; + } +}); +exports.ATTRIBUTE_UPDATER_REMOVE = exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE = exports.ATTRIBUTE_UPDATER_INSERT = exports.ATTRIBUTE_UPDATER_REPLACE = exports.ATTRIBUTE_UPDATER_ATTRIBUTES = exports.ATTRIBUTE_THEME_NAME = exports.ATTRIBUTE_THEME_PREFIX = exports.DEFAULT_THEME = exports.ATTRIBUTE_OPTIONS = exports.ATTRIBUTE_PREFIX = void 0; + +var _namespace = require("../namespace.js"); + +/** + * @author schukai GmbH + */ + +/** + * @memberOf Monster/DOM + * @since 1.8.0 + * @type {string} + */ +var ATTRIBUTE_PREFIX = 'data-monster-'; +/** + * @memberOf Monster/DOM + * @since 1.8.0 + * @type {string} + */ + +exports.ATTRIBUTE_PREFIX = ATTRIBUTE_PREFIX; +var ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options'; +/** + * default theme + * @memberOf Monster/DOM + * @type {string} + */ + +exports.ATTRIBUTE_OPTIONS = ATTRIBUTE_OPTIONS; +var DEFAULT_THEME = 'monster'; +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ + +exports.DEFAULT_THEME = DEFAULT_THEME; +var ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX + 'theme-'; +/** + * @memberOf Monster/DOM + * @type {string} + */ + +exports.ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_THEME_PREFIX; +var ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name'; +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ + +exports.ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_NAME; +var ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes'; +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ + +exports.ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_UPDATER_ATTRIBUTES; +var ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace'; +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ + +exports.ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_UPDATER_REPLACE; +var ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert'; +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ + +exports.ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_UPDATER_INSERT; +var ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference'; +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ + +exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_UPDATER_INSERT_REFERENCE; +var ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove'; +exports.ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_UPDATER_REMOVE; + +},{"../namespace.js":26}],15:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -2461,6 +2599,10 @@ Object.defineProperty(exports, "Monster", { }); exports.CustomElement = void 0; +var _constants = require("./constants.js"); + +var _template = require("./template.js"); + var _global = require("../types/global.js"); var _validate = require("../types/validate.js"); @@ -2501,7 +2643,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js'; + * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js'; * console.log(new Monster.DOM.CustomElement()) * </script> * ``` @@ -2510,7 +2652,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js'; + * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js'; * console.log(new CustomElement()) * </script> * ``` @@ -2533,21 +2675,26 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * </style> * ``` * + * + * * @example * + * // In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`. + * // You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`. + * * class MonsterMyElement extends CustomElement { + * * constructor() { * super(); - * - * this.template = `<div class="form-check"> + * } + * + * getTemplate() { + * return `<div class="form-check"> * <label class="form-check-label"> * <input class="form-check-input" type="checkbox" value=""> * Checkvalue * </label> * </div>` - * - * this.attachShadow({mode: 'open'}); - * this.shadowRoot.innerHTML = this.template; * } * * static getTag() { @@ -2570,24 +2717,118 @@ var CustomElement = /*#__PURE__*/function (_HTMLElement) { var _super = _createSuper(CustomElement); /** + * A new object is created. First the `initOptions` method is called. Here the + * options can be defined in derived classes. Subsequently, the shadowRoot is initialized. * + * @throws {Error} the options attribute does not contain a valid json definition. */ function CustomElement() { + var _this; + _classCallCheck(this, CustomElement); - return _super.call(this); + _this = _super.call(this); + _this._options = Object.assign({}, _this.defaults, getOptionsFromAttributes.call(_assertThisInitialized(_this))); + + _this.init(); + + return _this; } /** - * Called every time the element is inserted into the DOM. Useful for running setup code, such as - * fetching resources or rendering. Generally, you should try to delay work until this time. + * | option | description | + * |----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + * | shadowMode | `open` Elements of the shadow root are accessible from JavaScript outside the root, for example using. `close` Denies access to the node(s) of a closed shadow root from JavaScript outside it | + * | delegatesFocus | A boolean that, when set to true, specifies behavior that mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling. | * - * @return {void} + * Derived classes can override and extend this method as follows. + * + * ``` + * get defaults() { + * return Object.assign({}, super.defaults, { + * myValue:true + * }); + * } + * ``` + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow + * @return {{shadowMode: string, delegatesFocus: boolean}} + * @since 1.8.0 */ _createClass(CustomElement, [{ + key: "defaults", + get: function get() { + return { + shadowMode: 'open', + delegatesFocus: true + }; + } + /** + * + * @param {string} key + * @param [*} defaultValue + * @return {*} + * @since 1.8.0 + */ + + }, { + key: "getOption", + value: function getOption(key, defaultValue) { + var _this$_options; + + (0, _validate.validateString)(key); + var v = (_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options[key]; + if (v === undefined) return defaultValue; + return v; + } + /** + * + * @return {CustomElement} + * @since 1.8.0 + */ + + }, { + key: "init", + value: function init() { + initShadowRoot.call(this); + return this; + } + /** + * + * @return {CustomElement} + * @since 1.8.0 + */ + + }, { + key: "assemble", + value: function assemble() { + return this; + } + /** + * + * + * @return {CustomElement} + * @since 1.8.0 + */ + + }, { + key: "disassemble", + value: function disassemble() { + return this; + } + /** + * Called every time the element is inserted into the DOM. Useful for running setup code, such as + * fetching resources or rendering. Generally, you should try to delay work until this time. + * + * @return {void} + */ + + }, { key: "connectedCallback", - value: function connectedCallback() {} + value: function connectedCallback() { + this.assemble(); + } /** * Called every time the element is removed from the DOM. Useful for running clean up code. * @@ -2596,7 +2837,9 @@ var CustomElement = /*#__PURE__*/function (_HTMLElement) { }, { key: "disconnectedCallback", - value: function disconnectedCallback() {} + value: function disconnectedCallback() { + this.disassemble(); + } /** * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)). * @@ -2618,9 +2861,24 @@ var CustomElement = /*#__PURE__*/function (_HTMLElement) { }, { key: "attributeChangedCallback", - value: function attributeChangedCallback(attrName, oldVal, newVal) {} + value: function attributeChangedCallback(attrName, oldVal, newVal) { + this.assemble(); + } /** - * there is no check on the name by this class. the developer is responsible for assigning an appropriate tag. + * This method defines the default template if no template with the id is found in the dom. + * + * @since 1.8.0 + * @return {string} + * @throws {Error} the method getTemplate must be overwritten by the derived class. + */ + + }], [{ + key: "getTemplate", + value: function getTemplate() { + throw new Error("the method getTemplate must be overwritten by the derived class."); + } + /** + * There is no check on the name by this class. the developer is responsible for assigning an appropriate tag. * if the name is not valid, registerCustomElement() will issue an erro * * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name @@ -2628,15 +2886,76 @@ var CustomElement = /*#__PURE__*/function (_HTMLElement) { * @throws {Error} the method getTag must be overwritten by the derived class. */ - }], [{ + }, { key: "getTag", value: function getTag() { throw new Error("the method getTag must be overwritten by the derived class."); } + /** + * + * @return {CSSStyleSheet} + */ + + }, { + key: "getCSSStyleSheet", + value: function getCSSStyleSheet() { + return new CSSStyleSheet(); + } }]); return CustomElement; }( /*#__PURE__*/_wrapNativeSuper(HTMLElement)); +/** + * @private + * @return {object} + * @throws {Error} the options attribute does not contain a valid json definition. + */ + + +exports.CustomElement = CustomElement; + +function getOptionsFromAttributes() { + if (this.hasAttribute(_constants.ATTRIBUTE_OPTIONS)) { + try { + var obj = JSON.parse(this.getAttribute(_constants.ATTRIBUTE_OPTIONS)); + (0, _validate.validateObject)(obj); + return obj; + } catch (e) { + throw new Error('the options attribute ' + _constants.ATTRIBUTE_OPTIONS + ' does not contain a valid json definition (actual: ' + this.getAttribute(_constants.ATTRIBUTE_OPTIONS) + ').'); + } + } + + return {}; +} +/** + * @private + * @return {CustomElement} + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow + * @memberOf CustomElement + * @since 1.8.0 + */ + + +function initShadowRoot() { + this.attachShadow({ + mode: this.getOption('shadowMode', 'open'), + delegatesFocus: this.getOption('delegatesFocus', true) + }); + var styleSheet = this.constructor.getCSSStyleSheet(); + + if (styleSheet instanceof CSSStyleSheet) { + this.shadowRoot.adoptedStyleSheets = [styleSheet]; + } + + try { + var template = (0, _template.findDocumentTemplate)(this.constructor.getTag()); + this.shadowRoot.appendChild(template.createDocumentFragment()); + } catch (e) { + this.shadowRoot.innerHTML = this.constructor.getTemplate(); + } + + return this; +} /** * This method registers a new element. The string returned by `CustomElement.getTag()` is used as the tag. * @@ -2649,8 +2968,6 @@ var CustomElement = /*#__PURE__*/function (_HTMLElement) { */ -exports.CustomElement = CustomElement; - function registerCustomElement(element) { (0, _validate.validateFunction)(element); var tag = element.getTag(); @@ -2660,7 +2977,7 @@ function registerCustomElement(element) { _validate.Monster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement); -},{"../types/global.js":27,"../types/validate.js":38}],15:[function(require,module,exports){ +},{"../types/global.js":28,"../types/validate.js":39,"./constants.js":14,"./template.js":17}],16:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -2734,7 +3051,7 @@ var MONSTERDOMHANDLE = Symbol('MonsterHandle'); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; * console.log(new Monster.DOM.Handle()) * </script> * ``` @@ -2743,7 +3060,7 @@ var MONSTERDOMHANDLE = Symbol('MonsterHandle'); * * ``` * <script type="module"> - * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; + * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; * console.log(new Handle()) * </script> * ``` @@ -2912,7 +3229,7 @@ function createMutationObserver() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; * console.log(Monster.DOM.getHandleFromNode()) * </script> * ``` @@ -2921,7 +3238,7 @@ function createMutationObserver() { * * ``` * <script type="module"> - * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; + * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; * console.log(getHandleFromNode()) * </script> * ``` @@ -2954,7 +3271,7 @@ function getHandleFromNode(node) { _base.Monster.assignToNamespace('Monster.DOM', getHandleFromNode, Handle); -},{"../types/base.js":26,"../types/global.js":27,"../types/id.js":28,"../types/is.js":29,"../types/observer.js":30,"../types/proxyobserver.js":32,"../types/stack.js":35,"../types/validate.js":38,"./assembler.js":13}],16:[function(require,module,exports){ +},{"../types/base.js":27,"../types/global.js":28,"../types/id.js":29,"../types/is.js":30,"../types/observer.js":31,"../types/proxyobserver.js":33,"../types/stack.js":36,"../types/validate.js":39,"./assembler.js":13}],17:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -3007,7 +3324,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; * console.log(new Monster.DOM.Template()) * </script> * ``` @@ -3016,7 +3333,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; + * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; * console.log(new Template()) * </script> * ``` @@ -3081,7 +3398,7 @@ var Template = /*#__PURE__*/function (_Base) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; * console.log(Monster.DOM.findDocumentTemplate()) * </script> * ``` @@ -3090,7 +3407,7 @@ var Template = /*#__PURE__*/function (_Base) { * * ``` * <script type="module"> - * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; + * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; * console.log(findDocumentTemplate()) * </script> * ``` @@ -3130,7 +3447,7 @@ function findDocumentTemplate(id) { _base.Monster.assignToNamespace('Monster.DOM', Template, findDocumentTemplate); -},{"../types/base.js":26,"../types/global.js":27,"../types/validate.js":38,"./theme.js":17}],17:[function(require,module,exports){ +},{"../types/base.js":27,"../types/global.js":28,"../types/validate.js":39,"./theme.js":18}],18:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -3156,6 +3473,8 @@ var _validate = require("../types/validate.js"); var _global = require("../types/global.js"); +var _constants = require("./constants.js"); + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } @@ -3176,23 +3495,12 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } -/** - * default theme - * @type {string} - */ -var DEFAULT_THEME = 'monster'; -/** - * @private - * @type {string} - */ - -var THEME_ATTRIBUTE_NAME = 'data-monster-theme-name'; /** * You can call the method via the monster namespace `new Monster.DOM.Theme()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; * console.log(new Monster.DOM.Theme()) * </script> * ``` @@ -3201,14 +3509,14 @@ var THEME_ATTRIBUTE_NAME = 'data-monster-theme-name'; * * ``` * <script type="module"> - * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js'; + * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; * console.log(new Theme()) * </script> * ``` * * @example * - * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js'; + * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; * * const theme = getDocumentTheme(); * console.log(theme.getName()); @@ -3218,7 +3526,6 @@ var THEME_ATTRIBUTE_NAME = 'data-monster-theme-name'; * @copyright schukai GmbH * @memberOf Monster/DOM */ - var Theme = /*#__PURE__*/function (_Base) { _inherits(Theme, _Base); @@ -3275,11 +3582,11 @@ exports.Theme = Theme; function getDocumentTheme() { var document = (0, _global.getGlobalObject)('document'); - var name = DEFAULT_THEME; + var name = _constants.DEFAULT_THEME; var element = document.querySelector('html'); if (element instanceof HTMLElement) { - var theme = element.getAttribute(THEME_ATTRIBUTE_NAME); + var theme = element.getAttribute(_constants.ATTRIBUTE_THEME_NAME); if (theme) { name = theme; @@ -3291,7 +3598,7 @@ function getDocumentTheme() { _base.Monster.assignToNamespace('Monster.DOM', Theme, getDocumentTheme); -},{"../types/base.js":26,"../types/global.js":27,"../types/validate.js":38}],18:[function(require,module,exports){ +},{"../types/base.js":27,"../types/global.js":28,"../types/validate.js":39,"./constants.js":14}],19:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -3321,7 +3628,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getDocument()) * </script> * ``` @@ -3330,7 +3637,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(getDocument()) * </script> * ``` @@ -3384,7 +3691,7 @@ function getDocument() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getWindow()) * </script> * ``` @@ -3393,7 +3700,7 @@ function getDocument() { * * ``` * <script type="module"> - * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(getWindow(null)) * </script> * ``` @@ -3453,7 +3760,7 @@ function getWindow() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getDocumentFragmentFromString()) * </script> * ``` @@ -3462,7 +3769,7 @@ function getWindow() { * * ``` * <script type="module"> - * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(getDocumentFragmentFromString('<div></div>')) * </script> * ``` @@ -3513,7 +3820,7 @@ function getDocumentFragmentFromString(html) { _global.Monster.assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString); -},{"../types/global.js":27,"../types/validate.js":38}],19:[function(require,module,exports){ +},{"../types/global.js":28,"../types/validate.js":39}],20:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -3567,7 +3874,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js'; * console.log(new Monster.Logging.Handler()) * </script> * ``` @@ -3576,7 +3883,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js'; * console.log(new Handler()) * </script> * ``` @@ -3767,7 +4074,7 @@ exports.Handler = Handler; _namespace.Monster.assignToNamespace('Monster.Logging', Handler); -},{"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38,"./logentry.js":21,"./logger.js":22}],20:[function(require,module,exports){ +},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39,"./logentry.js":22,"./logger.js":23}],21:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -3818,7 +4125,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js'; * console.log(new Monster.Logging.Handler.ConsoleHandler()) * </script> * ``` @@ -3827,7 +4134,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js'; * console.log(new ConsoleHandler()) * </script> * ``` @@ -3852,7 +4159,7 @@ var ConsoleHandler = /*#__PURE__*/function (_Base) { _namespace.Monster.assignToNamespace('Monster.Logging', ConsoleHandler); -},{"../../logging/handler.js":19,"../../namespace.js":25,"../../types/base.js":26}],21:[function(require,module,exports){ +},{"../../logging/handler.js":20,"../../namespace.js":26,"../../types/base.js":27}],22:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -3902,7 +4209,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js'; * console.log(new Monster.Logging.LogEntry()) * </script> * ``` @@ -3911,7 +4218,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js'; * console.log(new LogEntry()) * </script> * ``` @@ -3976,7 +4283,7 @@ exports.LogEntry = LogEntry; _namespace.Monster.assignToNamespace('Monster.Logging', LogEntry); -},{"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38}],22:[function(require,module,exports){ +},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39}],23:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -4098,7 +4405,7 @@ var OFF = 0; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js'; * console.log(new Monster.Logging.Logger()) * </script> * ``` @@ -4107,7 +4414,7 @@ var OFF = 0; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js'; * console.log(new Logger()) * </script> * ``` @@ -4355,7 +4662,7 @@ function triggerLog(loglevel) { return logger; } -},{"../logging/handler.js":19,"../logging/logentry.js":21,"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38}],23:[function(require,module,exports){ +},{"../logging/handler.js":20,"../logging/logentry.js":22,"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39}],24:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -4381,7 +4688,7 @@ var _global = require("../types/global.js"); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js'; * console.log(Monster.Math.random(1,10)) // ↦ 5 * </script> * ``` @@ -4390,7 +4697,7 @@ var _global = require("../types/global.js"); * * ``` * <script type="module"> - * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js'; + * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js'; * console.log(random(1,10)) // ↦ 5 * </script> * ``` @@ -4482,7 +4789,7 @@ function create(min, max) { _global.Monster.assignToNamespace('Monster.Math', random); -},{"../types/global.js":27}],24:[function(require,module,exports){ +},{"../types/global.js":28}],25:[function(require,module,exports){ /** * @license * Copyright 2021 schukai GmbH @@ -4592,7 +4899,7 @@ try { if (!rootName) rootName = "Monster"; _namespace.Monster.Types.getGlobal()[rootName] = _namespace.Monster; -},{"./constraints/abstract.js":1,"./constraints/abstractoperator.js":2,"./constraints/andoperator.js":3,"./constraints/invalid.js":4,"./constraints/isarray.js":5,"./constraints/isobject.js":6,"./constraints/oroperator.js":7,"./constraints/valid.js":8,"./data/diff.js":9,"./data/pathfinder.js":10,"./data/pipe.js":11,"./data/transformer.js":12,"./dom/assembler.js":13,"./dom/customelement.js":14,"./dom/handle.js":15,"./dom/template.js":16,"./dom/util.js":18,"./logging/handler.js":19,"./logging/handler/console.js":20,"./logging/logentry.js":21,"./logging/logger.js":22,"./math/random.js":23,"./namespace.js":25,"./types/base.js":26,"./types/global.js":27,"./types/id.js":28,"./types/is.js":29,"./types/observer.js":30,"./types/observerlist.js":31,"./types/proxyobserver.js":32,"./types/queue.js":33,"./types/randomid.js":34,"./types/stack.js":35,"./types/tokenlist.js":36,"./types/uniquequeue.js":37,"./types/validate.js":38,"./types/version.js":39,"./util/clone.js":40,"./util/comparator.js":41,"./util/freeze.js":42}],25:[function(require,module,exports){ +},{"./constraints/abstract.js":1,"./constraints/abstractoperator.js":2,"./constraints/andoperator.js":3,"./constraints/invalid.js":4,"./constraints/isarray.js":5,"./constraints/isobject.js":6,"./constraints/oroperator.js":7,"./constraints/valid.js":8,"./data/diff.js":9,"./data/pathfinder.js":10,"./data/pipe.js":11,"./data/transformer.js":12,"./dom/assembler.js":13,"./dom/customelement.js":15,"./dom/handle.js":16,"./dom/template.js":17,"./dom/util.js":19,"./logging/handler.js":20,"./logging/handler/console.js":21,"./logging/logentry.js":22,"./logging/logger.js":23,"./math/random.js":24,"./namespace.js":26,"./types/base.js":27,"./types/global.js":28,"./types/id.js":29,"./types/is.js":30,"./types/observer.js":31,"./types/observerlist.js":32,"./types/proxyobserver.js":33,"./types/queue.js":34,"./types/randomid.js":35,"./types/stack.js":36,"./types/tokenlist.js":37,"./types/uniquequeue.js":38,"./types/validate.js":39,"./types/version.js":40,"./util/clone.js":41,"./util/comparator.js":42,"./util/freeze.js":43}],26:[function(require,module,exports){ 'use strict'; /** * @namespace Monster @@ -4685,7 +4992,7 @@ assignToNamespace('Monster', assignToNamespace); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/namespace.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js'; * function hello() { * console.log('Hello World!'); * } @@ -4775,7 +5082,7 @@ function namespaceFor(parts) { return space; } -},{}],26:[function(require,module,exports){ +},{}],27:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -4829,7 +5136,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js'; * console.log(new Monster.Types.Base()) * console.log(new Monster.Types.Base()) * </script> @@ -4839,7 +5146,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js'; + * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js'; * console.log(new Base()) * console.log(new Base()) * </script> @@ -4881,7 +5188,7 @@ exports.Base = Base; _namespace.Monster.assignToNamespace('Monster.Types', Base); -},{"../namespace.js":25}],27:[function(require,module,exports){ +},{"../namespace.js":26}],28:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -4952,7 +5259,7 @@ function getGlobal() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; * console.log(Monster.Types.getGlobalObject('document')) // ↦ { } * </script> * ``` @@ -4961,7 +5268,7 @@ function getGlobal() { * * ``` * <script type="module"> - * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; + * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; * console.log(getGlobalObject('document')) // ↦ { } * </script> * ``` @@ -4992,7 +5299,7 @@ function getGlobalObject(name) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { } * </script> * ``` @@ -5001,7 +5308,7 @@ function getGlobalObject(name) { * * ``` * <script type="module"> - * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; + * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { } * </script> * ``` @@ -5028,7 +5335,7 @@ function getGlobalFunction(name) { _namespace.Monster.assignToNamespace('Monster.Types', getGlobal, getGlobalObject, getGlobalFunction); -},{"../namespace.js":25,"./validate.js":38}],28:[function(require,module,exports){ +},{"../namespace.js":26,"./validate.js":39}],29:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -5087,7 +5394,7 @@ var internalCounter = new Map(); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js'; * console.log(new Monster.Types.ID()) * </script> * ``` @@ -5096,7 +5403,7 @@ var internalCounter = new Map(); * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js'; * console.log(new ID()) * </script> * ``` @@ -5157,7 +5464,7 @@ exports.ID = ID; _base.Monster.assignToNamespace('Monster.Types', ID); -},{"./base.js":26,"./validate.js":38}],29:[function(require,module,exports){ +},{"./base.js":27,"./validate.js":39}],30:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -5193,7 +5500,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isIterable(null)) // ↦ false * console.log(Monster.Types.isIterable('hello')) // ↦ true * console.log(Monster.Types.isIterable([])) // ↦ true @@ -5204,7 +5511,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isIterable(null)) // ↦ false * console.log(isIterable('hello')) // ↦ true * console.log(isIterable([])) // ↦ true @@ -5229,7 +5536,7 @@ function isIterable(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isPrimitive('2')) // ↦ false * console.log(Monster.Types.isPrimitive([])) // ↦ true * </script> @@ -5239,7 +5546,7 @@ function isIterable(value) { * * ``` * <script type="module"> - * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isPrimitive('2')) // ↦ true * console.log(isPrimitive([])) // ↦ false * </script> @@ -5275,7 +5582,7 @@ function isPrimitive(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isBoolean('2')) // ↦ false * console.log(Monster.Types.isBoolean([])) // ↦ false * console.log(Monster.Types.isBoolean(true)) // ↦ true @@ -5286,7 +5593,7 @@ function isPrimitive(value) { * * ``` * <script type="module"> - * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isBoolean('2')) // ↦ false * console.log(isBoolean([])) // ↦ false * console.log(isBoolean(2>4)) // ↦ true @@ -5315,7 +5622,7 @@ function isBoolean(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isString('2')) // ↦ true * console.log(Monster.Types.isString([])) // ↦ false * </script> @@ -5325,7 +5632,7 @@ function isBoolean(value) { * * ``` * <script type="module"> - * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isString('2')) // ↦ true * console.log(isString([])) // ↦ false * </script> @@ -5353,7 +5660,7 @@ function isString(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isObject('2')) // ↦ false * console.log(Monster.Types.isObject([])) // ↦ false * console.log(Monster.Types.isObject({})) // ↦ true @@ -5364,7 +5671,7 @@ function isString(value) { * * ``` * <script type="module"> - * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isObject('2')) // ↦ false * console.log(isObject([])) // ↦ false * </script> @@ -5395,7 +5702,7 @@ function isObject(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isInstance('2')) // ↦ false * console.log(Monster.Types.isInstance([])) // ↦ false * console.log(Monster.Types.isInstance({})) // ↦ true @@ -5406,7 +5713,7 @@ function isObject(value) { * * ``` * <script type="module"> - * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isInstance('2')) // ↦ false * console.log(isInstance([])) // ↦ false * </script> @@ -5434,7 +5741,7 @@ function isInstance(value, instance) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isArray('2')) // ↦ false * console.log(Monster.Types.isArray([])) // ↦ true * </script> @@ -5444,7 +5751,7 @@ function isInstance(value, instance) { * * ``` * <script type="module"> - * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isArray('2')) // ↦ false * console.log(isArray([])) // ↦ true * </script> @@ -5472,7 +5779,7 @@ function isArray(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isFunction(()=>{})) // ↦ true * console.log(Monster.Types.isFunction('2')) // ↦ false * console.log(Monster.Types.isFunction([])) // ↦ false @@ -5483,7 +5790,7 @@ function isArray(value) { * * ``` * <script type="module"> - * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isFunction(()=>{})) // ↦ true * console.log(isFunction('2')) // ↦ false * console.log(isFunction([])) // ↦ false @@ -5515,7 +5822,7 @@ function isFunction(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isInteger(()=>{})) // ↦ true * console.log(Monster.Types.isInteger('2')) // ↦ false * console.log(Monster.Types.isInteger(2)) // ↦ true @@ -5526,7 +5833,7 @@ function isFunction(value) { * * ``` * <script type="module"> - * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isInteger(()=>{})) // ↦ true * console.log(isInteger('2')) // ↦ false * console.log(isInteger(2)) // ↦ true @@ -5547,7 +5854,7 @@ function isInteger(value) { _namespace.Monster.assignToNamespace('Monster.Types', isPrimitive, isBoolean, isString, isObject, isArray, isFunction, isIterable, isInteger); -},{"../namespace.js":25}],30:[function(require,module,exports){ +},{"../namespace.js":26}],31:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -5603,7 +5910,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; * console.log(new Monster.Types.Observer()) * </script> * ``` @@ -5612,7 +5919,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; * console.log(new Observer()) * </script> * ``` @@ -5646,7 +5953,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * @example * - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; * * const observer = new Observer(function(a, b, c) { * console.log(this, a, b, c); // ↦ "a", 2, true @@ -5755,22 +6062,26 @@ var Observer = /*#__PURE__*/function (_Base) { self.queue.add(subject); setTimeout(function () { - // the queue and the settimeout ensure that an object is not - // informed of the same change more than once. - if (self.queue.isEmpty()) { - resolve(); - return; + try { + // the queue and the settimeout ensure that an object is not + // informed of the same change more than once. + if (self.queue.isEmpty()) { + resolve(); + return; + } + + var s = self.queue.poll(); + var result = self.callback.apply(s, self.arguments); + + if ((0, _is.isObject)(result) && result instanceof Promise) { + result.then(resolve)["catch"](reject); + return; + } + + resolve(result); + } catch (e) { + reject(e); } - - var s = self.queue.poll(); - var result = self.callback.apply(s, self.arguments); - - if ((0, _is.isObject)(result) && result instanceof Promise) { - result.then(resolve)["catch"](reject); - return; - } - - resolve(result); }, 0); }); } @@ -5783,7 +6094,7 @@ exports.Observer = Observer; _namespace.Monster.assignToNamespace('Monster.Types', Observer); -},{"../namespace.js":25,"./base.js":26,"./is.js":29,"./tokenlist.js":36,"./uniquequeue.js":37}],31:[function(require,module,exports){ +},{"../namespace.js":26,"./base.js":27,"./is.js":30,"./tokenlist.js":37,"./uniquequeue.js":38}],32:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -5837,7 +6148,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js'; * console.log(new Monster.Types.ObserverList()) * console.log(new Monster.Types.ObserverList()) * </script> @@ -5847,7 +6158,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js'; + * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js'; * console.log(ObserverList()) * console.log(ObserverList()) * </script> @@ -5961,7 +6272,7 @@ exports.ObserverList = ObserverList; _namespace.Monster.assignToNamespace('Monster.Types', ObserverList); -},{"../namespace.js":25,"./base.js":26,"./observer.js":30,"./validate.js":38}],32:[function(require,module,exports){ +},{"../namespace.js":26,"./base.js":27,"./observer.js":31,"./validate.js":39}],33:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -6013,13 +6324,13 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } /** - * an observer manages a callback function + * An observer manages a callback function * - * you can call the method via the monster namespace `new Monster.Types.ProxyObserver()`. + * You can call the method via the monster namespace `new Monster.Types.ProxyObserver()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; * console.log(new Monster.Types.ProxyObserver()) * </script> * ``` @@ -6028,7 +6339,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; + * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; * console.log(new ProxyObserver()) * </script> * ``` @@ -6039,9 +6350,9 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * @example * - * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; - * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; + * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * * const o = new Observer(function () { * if (isObject(this) && this instanceof ProxyObserver) { @@ -6149,14 +6460,13 @@ var ProxyObserver = /*#__PURE__*/function (_Base) { /** * notify all observer * - * @returns {ProxyObserver} + * @returns {Promise} */ }, { key: "notifyObservers", value: function notifyObservers() { - this.observers.notify(this); - return this; + return this.observers.notify(this); } /** * @param {Observer} observer @@ -6260,7 +6570,7 @@ function getHandler() { return handler; } -},{"../namespace.js":25,"./base.js":26,"./is.js":29,"./observer.js":30,"./observerlist.js":31,"./validate.js":38}],33:[function(require,module,exports){ +},{"../namespace.js":26,"./base.js":27,"./is.js":30,"./observer.js":31,"./observerlist.js":32,"./validate.js":39}],34:[function(require,module,exports){ "use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -6303,7 +6613,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; * console.log(new Monster.Types.Queue()) * </script> * ``` @@ -6312,14 +6622,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; * console.log(new Queue()) * </script> * ``` * * @example * - * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; + * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; * * const queue = new Queue; * @@ -6436,7 +6746,7 @@ exports.Queue = Queue; _base.Monster.assignToNamespace('Monster.Types', Queue); -},{"./base.js":26}],34:[function(require,module,exports){ +},{"./base.js":27}],35:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -6487,7 +6797,7 @@ var internalCounter = 0; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js'; * console.log(new Monster.Types.RandomID()) * </script> * ``` @@ -6496,7 +6806,7 @@ var internalCounter = 0; * * ``` * <script type="module"> - * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js'; + * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js'; * console.log(new RandomID()) * </script> * ``` @@ -6534,7 +6844,7 @@ exports.RandomID = RandomID; _id.Monster.assignToNamespace('Monster.Types', RandomID); -},{"../math/random.js":23,"./global.js":27,"./id.js":28}],35:[function(require,module,exports){ +},{"../math/random.js":24,"./global.js":28,"./id.js":29}],36:[function(require,module,exports){ "use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -6577,7 +6887,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js'; * console.log(new Monster.Types.Stack()) * </script> * ``` @@ -6586,7 +6896,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js'; * console.log(new Stack()) * </script> * ``` @@ -6690,7 +7000,7 @@ exports.Stack = Stack; _base.Monster.assignToNamespace('Monster.Types', Stack); -},{"./base.js":26}],36:[function(require,module,exports){ +},{"./base.js":27}],37:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -6752,7 +7062,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js'; * console.log(new Monster.Types.TokenList("myclass row")) * console.log(new Monster.Types.TokenList("myclass row")) * </script> @@ -6762,7 +7072,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js'; + * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js'; * console.log(new TokenList("myclass row")) * console.log(new TokenList("myclass row")) * </script> @@ -7134,7 +7444,7 @@ function toggleValue(token) { _namespace.Monster.assignToNamespace('Monster.Types', TokenList); -},{"../namespace.js":25,"../types/is.js":29,"../types/validate.js":38,"./base.js":26}],37:[function(require,module,exports){ +},{"../namespace.js":26,"../types/is.js":30,"../types/validate.js":39,"./base.js":27}],38:[function(require,module,exports){ "use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -7183,7 +7493,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js'; * console.log(new Monster.Types.UniqueQueue()) * </script> * ``` @@ -7192,7 +7502,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js'; + * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js'; * console.log(new UniqueQueue()) * </script> * ``` @@ -7281,7 +7591,7 @@ exports.UniqueQueue = UniqueQueue; _queue.Monster.assignToNamespace('Monster.Types', UniqueQueue); -},{"./queue.js":33,"./validate.js":38}],38:[function(require,module,exports){ +},{"./queue.js":34,"./validate.js":39}],39:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -7317,7 +7627,7 @@ var _is = require("./is.js"); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError * console.log(Monster.Types.validateIterable([])) // ↦ undefined * </script> @@ -7327,14 +7637,14 @@ var _is = require("./is.js"); * * ``` * <script type="module"> - * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateIterable('2')) // ↦ TypeError * console.log(validateIterable([])) // ↦ undefined * </script> * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.2.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -7347,6 +7657,8 @@ function validateIterable(value) { if (!(0, _is.isIterable)(value)) { throw new TypeError('value is not iterable'); } + + return value; } /** * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown. @@ -7355,7 +7667,7 @@ function validateIterable(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError * </script> @@ -7365,14 +7677,14 @@ function validateIterable(value) { * * ``` * <script type="module"> - * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validatePrimitive('2')) // ↦ undefined * console.log(validatePrimitive([])) // ↦ TypeError * </script> * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -7387,6 +7699,8 @@ function validatePrimitive(value) { if (!(0, _is.isPrimitive)(value)) { throw new TypeError('value is not a primitive'); } + + return value; } /** * This method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown. @@ -7395,7 +7709,7 @@ function validatePrimitive(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError @@ -7406,7 +7720,7 @@ function validatePrimitive(value) { * * ``` * <script type="module"> - * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateBoolean(false)) // ↦ undefined * console.log(validateBoolean('2')) // ↦ TypeError * console.log(validateBoolean([])) // ↦ TypeError @@ -7414,7 +7728,7 @@ function validatePrimitive(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -7427,6 +7741,8 @@ function validateBoolean(value) { if (!(0, _is.isBoolean)(value)) { throw new TypeError('value is not a boolean'); } + + return value; } /** * This method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown. @@ -7435,7 +7751,7 @@ function validateBoolean(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateString('2')) // ↦ undefined * console.log(Monster.Types.validateString([])) // ↦ TypeError * </script> @@ -7445,14 +7761,14 @@ function validateBoolean(value) { * * ``` * <script type="module"> - * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateString('2')) // ↦ undefined * console.log(validateString([])) // ↦ TypeError * </script> * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -7464,6 +7780,8 @@ function validateString(value) { if (!(0, _is.isString)(value)) { throw new TypeError('value is not a string'); } + + return value; } /** * This method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown. @@ -7472,7 +7790,7 @@ function validateString(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateObject({})) // ↦ undefined * console.log(Monster.Types.validateObject('2')) // ↦ TypeError * console.log(Monster.Types.validateObject([])) // ↦ TypeError @@ -7483,7 +7801,7 @@ function validateString(value) { * * ``` * <script type="module"> - * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateObject({})) // ↦ undefined * console.log(validateObject('2')) // ↦ TypeError * console.log(validateObject([])) // ↦ TypeError @@ -7491,7 +7809,7 @@ function validateString(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -7503,6 +7821,8 @@ function validateObject(value) { if (!(0, _is.isObject)(value)) { throw new TypeError('value is not a object'); } + + return value; } /** * This method checks if the type matches the object instance. @@ -7511,7 +7831,7 @@ function validateObject(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError @@ -7522,7 +7842,7 @@ function validateObject(value) { * * ``` * <script type="module"> - * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateInstance({}, Object)) // ↦ undefined * console.log(validateInstance('2', Object)) // ↦ TypeError * console.log(validateInstance([], Object)) // ↦ TypeError @@ -7530,7 +7850,7 @@ function validateObject(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.5.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -7552,6 +7872,8 @@ function validateInstance(value, instance) { throw new TypeError('value is not an instance of' + n); } + + return value; } /** * This method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown. @@ -7560,7 +7882,7 @@ function validateInstance(value, instance) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateArray('2')) // ↦ TypeError * console.log(Monster.Types.validateArray([])) // ↦ undefined * </script> @@ -7570,14 +7892,14 @@ function validateInstance(value, instance) { * * ``` * <script type="module"> - * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateArray('2')) // ↦ TypeError * console.log(validateArray([])) // ↦ undefined * </script> * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -7589,6 +7911,8 @@ function validateArray(value) { if (!(0, _is.isArray)(value)) { throw new TypeError('value is not an array'); } + + return value; } /** * This method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown. @@ -7597,7 +7921,7 @@ function validateArray(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError * console.log(Monster.Types.validateFunction([])) // ↦ TypeError @@ -7608,7 +7932,7 @@ function validateArray(value) { * * ``` * <script type="module"> - * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateFunction(()=>{})) // ↦ undefined * console.log(validateFunction('2')) // ↦ TypeError * console.log(validateFunction([])) // ↦ TypeError @@ -7616,7 +7940,7 @@ function validateArray(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -7628,6 +7952,8 @@ function validateFunction(value) { if (!(0, _is.isFunction)(value)) { throw new TypeError('value is not a function'); } + + return value; } /** * This method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown. @@ -7636,7 +7962,7 @@ function validateFunction(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError * console.log(Monster.Types.validateInteger(2)) // ↦ undefined @@ -7647,7 +7973,7 @@ function validateFunction(value) { * * ``` * <script type="module"> - * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateInteger(true)) // ↦ TypeError * console.log(validateInteger('2')) // ↦ TypeError * console.log(validateInteger(2)) // ↦ undefined @@ -7655,7 +7981,7 @@ function validateFunction(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.4.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -7667,11 +7993,13 @@ function validateInteger(value) { if (!(0, _is.isInteger)(value)) { throw new TypeError('value is not an integer'); } + + return value; } _namespace.Monster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger); -},{"../namespace.js":25,"./is.js":29}],39:[function(require,module,exports){ +},{"../namespace.js":26,"./is.js":30}],40:[function(require,module,exports){ 'use strict'; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -7719,7 +8047,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3 * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0 * </script> @@ -7729,7 +8057,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * console.log(new Version('1.2.3')) // ↦ 1.2.3 * console.log(new Version('1')) // ↦ 1.0.0 * </script> @@ -7737,7 +8065,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * @example * - * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * * new Version('1.0.0') // ↦ 1.0.0 * new Version(1) // ↦ 1.0.0 @@ -7872,7 +8200,7 @@ var monsterVersion; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * console.log(Monster.getVersion()) * console.log(Monster.getVersion()) * </script> @@ -7882,7 +8210,7 @@ var monsterVersion; * * ``` * <script type="module"> - * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * console.log(getVersion()) * console.log(getVersion()) * </script> @@ -7902,7 +8230,7 @@ function getVersion() { /**#@+ dont touch, replaced by make with package.json version */ - monsterVersion = new Version('1.7.0'); + monsterVersion = new Version('1.8.0'); /**#@-*/ return monsterVersion; @@ -7910,7 +8238,7 @@ function getVersion() { _namespace.Monster.assignToNamespace('Monster', getVersion); -},{"../namespace.js":25,"./base.js":26}],40:[function(require,module,exports){ +},{"../namespace.js":26,"./base.js":27}],41:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -7948,7 +8276,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js'; * console.log(Monster.Util.clone({})) * </script> * ``` @@ -7957,7 +8285,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi * * ``` * <script type="module"> - * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js'; + * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js'; * console.log(clone({})) * </script> * ``` @@ -8073,7 +8401,7 @@ function cloneObject(obj) { _namespace.Monster.assignToNamespace('Monster.Util', clone); -},{"../namespace.js":25,"../types/global.js":27,"../types/is.js":29}],41:[function(require,module,exports){ +},{"../namespace.js":26,"../types/global.js":28,"../types/is.js":30}],42:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -8121,7 +8449,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; * console.log(new Monster.Util.Comparator()) * </script> * ``` @@ -8130,7 +8458,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * ``` * <script type="module"> - * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js'; + * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; * console.log(new Comparator()) * </script> * ``` @@ -8155,7 +8483,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g * * @example * - * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js'; + * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; * * console.log(new Comparator().lessThanOrEqual(2, 5)) * // ↦ true @@ -8306,7 +8634,7 @@ exports.Comparator = Comparator; _base.Monster.assignToNamespace('Monster.Util', Comparator); -},{"../types/base.js":26,"../types/is.js":29}],42:[function(require,module,exports){ +},{"../types/base.js":27,"../types/is.js":30}],43:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -8342,7 +8670,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js'; * console.log(Monster.Util.deepFreeze({})) * </script> * ``` @@ -8351,7 +8679,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len * * ``` * <script type="module"> - * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js'; + * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js'; * console.log(deepFreeze({})) * </script> * ``` @@ -8388,5 +8716,5 @@ function deepFreeze(object) { _namespace.Monster.assignToNamespace('Monster.Util', deepFreeze); -},{"../namespace.js":25,"../types/validate.js":38}]},{},[24]) +},{"../namespace.js":26,"../types/validate.js":39}]},{},[25]) //# sourceMappingURL=monster.dev.js.map diff --git a/packages/monster/dist/monster.dev.js.map b/packages/monster/dist/monster.dev.js.map index 5a7ce0490..70b5c857d 100644 --- a/packages/monster/dist/monster.dev.js.map +++ b/packages/monster/dist/monster.dev.js.map @@ -15,6 +15,7 @@ "packages/monster/source/data/pipe.js", "packages/monster/source/data/transformer.js", "packages/monster/source/dom/assembler.js", + "packages/monster/source/dom/constants.js", "packages/monster/source/dom/customelement.js", "packages/monster/source/dom/handle.js", "packages/monster/source/dom/template.js", @@ -46,52 +47,53 @@ "packages/monster/source/util/freeze.js" ], "names": [], - "mappings": "AAAA;ACAA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,kB;;;;;AAEF;AACJ;AACA;AACI,gCAAc;AAAA;;AAAA;AAEb;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,iBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAjB4B,U;;;;AAoBjC,mBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,kBAAjD;;;ACvCA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,gB;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,4BAAY,QAAZ,EAAsB,QAAtB,EAAgC;AAAA;;AAAA;;AAC5B;;AAEA,QAAI,EAAE,QAAQ,YAAY,4BAAtB,KAA6C,EAAE,QAAQ,YAAY,4BAAtB,CAAjD,EAA4F;AACxF,YAAM,IAAI,SAAJ,CAAc,iDAAd,CAAN;AACH;;AAED,UAAK,QAAL,GAAgB,QAAhB;AACA,UAAK,QAAL,GAAgB,QAAhB;AAR4B;AAU/B;;;EAlB0B,4B;;;;AAuB/B,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,gBAAjD;;;ACtCA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,W;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,GAAR,CAAY,CAAC,KAAK,QAAL,CAAc,OAAd,CAAsB,KAAtB,CAAD,EAA+B,KAAK,QAAL,CAAc,OAAd,CAAsB,KAAtB,CAA/B,CAAZ,CAAP;AACH;;;;EAVqB,kC;;;;AAc1B,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,WAAjD;;;AChEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,O;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAViB,4B;;;;AActB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,OAAjD;;;ACxDA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,O;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,UAAI,iBAAQ,KAAR,CAAJ,EAAoB;AAChB,eAAO,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAP;AACH;;AAED,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAdiB,4B;;;;AAkBtB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,OAAjD;;;AChEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,Q;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,UAAI,kBAAS,KAAT,CAAJ,EAAqB;AACjB,eAAO,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAP;AACH;;AAED,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAdkB,4B;;;;AAkBvB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,QAAjD;;;ACjEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,U;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,UAAI,IAAI,GAAG,IAAX;AAEA,aAAO,IAAI,OAAJ,CAAY,UAAU,OAAV,EAAmB,MAAnB,EAA2B;AAC1C,YAAI,CAAJ,EAAO,CAAP;AAEA,QAAA,IAAI,CAAC,QAAL,CAAc,OAAd,CAAsB,KAAtB,EACK,IADL,CACU,YAAY;AACd,UAAA,OAAO;AACV,SAHL,WAGa,YAAY;AACrB,UAAA,CAAC,GAAG,KAAJ;AACA;;AACA,cAAI,CAAC,KAAK,KAAV,EAAiB;AACb,YAAA,MAAM;AACT;AACJ,SATD;AAWA,QAAA,IAAI,CAAC,QAAL,CAAc,OAAd,CAAsB,KAAtB,EACK,IADL,CACU,YAAY;AACd,UAAA,OAAO;AACV,SAHL,WAGa,YAAY;AACrB,UAAA,CAAC,GAAG,KAAJ;AACA;;AACA,cAAI,CAAC,KAAK,KAAV,EAAiB;AACb,YAAA,MAAM;AACT;AACJ,SATD;AAUH,OAxBM,CAAP;AAyBH;;;;EApCoB,kC;;;;AAyCzB,0BAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,UAAjD;;;AC1FA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,K;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAP;AACH;;;;EAVe,4B;;;;AAcpB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,KAAjD;;;ACxDA;AAEA;AACA;AACA;;;;;;;;;;;;;AAGA;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAT,CAAc,KAAd,EAAqB,MAArB,EAA6B;AACzB,SAAO,MAAM,CAAC,KAAD,EAAQ,MAAR,CAAb;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,OAAT,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,IAAvB,EAA6B;AACzB,MAAI,iBAAQ,IAAR,CAAJ,EAAmB;AACf,QAAM,IAAI,GAAG,CAAC,CAAC,MAAF,GAAW,CAAC,CAAC,MAAb,GAAsB,IAAI,KAAJ,CAAU,CAAC,CAAC,MAAZ,CAAtB,GAA4C,IAAI,KAAJ,CAAU,CAAC,CAAC,MAAZ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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM,U;;;;;AAEF;AACJ;AACA;AACA;AACI,sBAAY,MAAZ,EAAoB;AAAA;;AAAA;;AAChB;AACA,UAAK,MAAL,GAAc,MAAd;AACA,UAAK,QAAL,GAAgB,QAAhB;AAHgB;AAInB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;WACI,qBAAY,QAAZ,EAAsB;AAClB,oCAAe,QAAf;AACA,WAAK,QAAL,GAAgB,QAAhB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa;AACT,oCAAe,IAAf;AACA,aAAO,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAAK,MAAhC,EAAwC,IAAxC,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa,KAAb,EAAoB;AAChB,oCAAe,IAAf;AACA,MAAA,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAAK,MAAhC,EAAwC,IAAxC,EAA8C,KAA9C;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,mBAAU,IAAV,EAAgB;AACZ,oCAAe,IAAf;AACA,MAAA,kBAAkB,CAAC,IAAnB,CAAwB,IAAxB,EAA8B,KAAK,MAAnC,EAA2C,IAA3C;AACA,aAAO,IAAP;AAC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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,W;;;;;AACF;AACJ;AACA;AACA;AACI,uBAAY,UAAZ,EAAwB;AAAA;;AAAA;;AACpB;AACA,kCAAe,UAAf;AAEA,UAAK,IAAL,GAAY,WAAW,CAAC,UAAD,CAAvB;AACA,UAAK,OAAL,GAAe,MAAK,IAAL,CAAU,KAAV,EAAf;AACA,UAAK,SAAL,GAAiB,IAAI,GAAJ,EAAjB;AANoB;AAQvB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACI,qBAAY,IAAZ,EAAkB,QAAlB,EAA4B;AACxB,oCAAe,IAAf;AACA,sCAAiB,QAAjB;AACA,WAAK,SAAL,CAAe,GAAf,CAAmB,IAAnB,EAAyB,QAAzB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,aAAI,KAAJ,EAAW;AACP,aAAO,SAAS,CAAC,KAAV,CAAgB,IAAhB,EAAsB,CAAC,KAAD,CAAtB,CAAP;AACH;;;;EAxCqB,U;;;;AA2C1B,mBAAQ,iBAAR,CAA0B,cAA1B,EAA0C,WAA1C;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAT,CAAqB,OAArB,EAA8B;AAE1B,gCAAe,OAAf;AAEA,MAAI,WAAW,GAAG,IAAI,GAAJ,EAAlB;;AACA,MAAM,KAAK,4BAAG,iBAAH;AAAA;AAAA;AAAA,IAAX,CAL0B,CAO1B;AACA;;;AACA,MAAI,MAAM,GAAG,OAAO,CAAC,QAAR,CAAiB,KAAjB,CAAb;;AAT0B,6CAWZ,MAXY;AAAA;;AAAA;AAW1B,wDAAsB;AAAA,UAAb,CAAa;AAClB,UAAI,CAAC,GAAC,CAAD,aAAC,CAAD,uBAAC,CAAC,CAAG,QAAH,CAAP;;AACA,UAAG,CAAC,kBAAS,CAAT,CAAJ,EAAiB;AACb;AACH;;AAED,UAAI,CAAC,GAAC,CAAD,aAAC,CAAD,uBAAC,CAAC,CAAG,SAAH,CAAP;AACA,UAAI,CAAC,GAAC,CAAD,aAAC,CAAD,uBAAC,CAAC,CAAG,MAAH,CAAP;;AAEA,UAAG,CAAC,IAAE,CAAN,EAAS;AACL,YAAI,CAAC,GAAC,OAAK,IAAI,MAAJ,GAAS,QAAT,EAAL,GAAyB,IAA/B;AACA,QAAA,WAAW,CAAC,GAAZ,CAAgB,CAAhB,EAAmB,CAAnB;AACA,QAAA,OAAO,GAAC,OAAO,CAAC,OAAR,CAAgB,CAAhB,EAAkB,CAAlB,CAAR;AACH;AAEJ;AA1ByB;AAAA;AAAA;AAAA;AAAA;;AA2B1B,MAAI,KAAK,GAAG,OAAO,CAAC,KAAR,CAAc,GAAd,CAAZ;AAEA,EAAA,KAAK,GAAG,KAAK,CAAC,GAAN,CAAU,UAAU,KAAV,EAAiB;AAC/B,QAAI,CAAC,GAAI,KAAK,CAAC,IAAN,EAAT;;AAD+B,gDAElB,WAFkB;AAAA;;AAAA;AAE/B,6DAA0B;AAAA,YAAlB,CAAkB;AACvB,QAAA,CAAC,GAAE,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,CAAD,CAAX,EAAgB,CAAC,CAAC,CAAD,CAAjB,CAAH;AACF;AAJ8B;AAAA;AAAA;AAAA;AAAA;;AAK/B,WAAO,CAAP;AAGH,GARO,CAAR;AAUA,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,KAAzB,EAAgC;AAE5B,MAAI,kBAAS,KAAT,KAAmB,KAAK,CAAC,cAAN,CAAqB,UAArB,CAAvB,EAAyD;AACrD,IAAA,KAAK,GAAG,KAAK,CAAC,QAAN,EAAR;AACH;;AAED,gCAAe,KAAf;AACA,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,CAAmB,KAAnB,EAA0B;AAEtB,MAAI,IAAI,GAAG,kBAAM,KAAK,IAAX,CAAX;AACA,MAAI,GAAJ;;AAEA,UAAQ,KAAK,OAAb;AAEI,SAAK,QAAL;AACI,aAAO,KAAK,IAAL,CAAU,IAAV,CAAe,GAAf,CAAP;;AAEJ,SAAK,SAAL;AACA,SAAK,YAAL;AACA,SAAK,aAAL;AACI,oCAAe,KAAf;AACA,aAAO,KAAK,CAAC,WAAN,EAAP;;AAEJ,SAAK,SAAL;AACA,SAAK,YAAL;AACA,SAAK,aAAL;AACI,oCAAe,KAAf;AACA,aAAO,KAAK,CAAC,WAAN,EAAP;;AAEJ,SAAK,UAAL;AACI,aAAO,KAAK,KAAZ;;AAEJ,SAAK,WAAL;AACI,UAAI,CAAC,GAAG,QAAQ,CAAC,KAAD,CAAhB;AACA,qCAAgB,CAAhB;AACA,aAAO,CAAP;;AAEJ,SAAK,MAAL;AACI,oCAAe,KAAf;AACA,aAAO,KAAK,CAAC,IAAN,EAAP;;AAEJ,SAAK,cAAL;AACI,oCAAe,KAAf;AACA,aAAO,kBAAkB,CAAC,KAAD,CAAlB,CACF,OADE,CACM,IADN,EACY,KADZ,EAEF,OAFE,CAEM,IAFN,EAEY,KAFZ,EAGF,OAHE,CAGM,KAHN,EAGa,KAHb,EAIF,OAJE,CAIM,KAJN,EAIa,KAJb,EAKF,OALE,CAKM,KALN,EAKa,KALb,CAAP;;AAQJ,SAAM,MAAN;AAEI;AACZ;AACA;AACA;AACA;AACA;AAEY,UAAI,QAAJ;AACA,UAAI,YAAY,GAAG,IAAI,CAAC,KAAL,EAAnB;;AAEA,UAAI,kBAAS,KAAT,KAAmB,KAAK,CAAC,cAAN,CAAqB,YAArB,CAAvB,EAA2D;AACvD,QAAA,QAAQ,GAAG,KAAK,CAAC,YAAD,CAAhB;AACH,OAFD,MAEO,IAAI,KAAK,SAAL,CAAe,GAAf,CAAmB,YAAnB,CAAJ,EAAsC;AACzC,QAAA,QAAQ,GAAG,KAAK,SAAL,CAAe,GAAf,CAAmB,YAAnB,CAAX;AACH,OAFM,MAEA,IAAI,QAAO,MAAP,yCAAO,MAAP,OAAkB,QAAlB,IAA8B,MAAM,CAAC,cAAP,CAAsB,YAAtB,CAAlC,EAAuE;AAC1E,QAAA,QAAQ,GAAG,MAAM,CAAC,YAAD,CAAjB;AACH;;AACD,sCAAiB,QAAjB;AAEA,MAAA,IAAI,CAAC,OAAL,CAAa,KAAb;AACA,aAAO,QAAQ,MAAR,4BAAY,IAAZ,EAAP;;AAEJ,SAAM,OAAN;AACA,SAAM,WAAN;AACI,oCAAe,KAAf;AACA,UAAI,GAAG,GAAG,IAAI,SAAJ,GAAgB,eAAhB,CAAgC,KAAhC,EAAuC,WAAvC,CAAV;AACA,aAAO,GAAG,CAAC,IAAJ,CAAS,WAAT,IAAwB,EAA/B;;AAEJ,SAAM,IAAN;AACA,SAAM,GAAN;AAEI,uCAAkB,KAAlB;AAEA,UAAI,aAAa,GAAI,IAAI,CAAC,KAAL,MAAgB,SAArC;AACA,UAAI,cAAc,GAAI,IAAI,CAAC,KAAL,MAAgB,SAAtC;;AAEA,UAAI,aAAa,KAAK,OAAtB,EAA+B;AAC3B,QAAA,aAAa,GAAG,KAAhB;AACH;;AACD,UAAI,aAAa,KAAK,SAAtB,EAAiC;AAC7B,QAAA,aAAa,GAAG,OAAhB;AACH;;AACD,UAAI,cAAc,KAAK,OAAvB,EAAgC;AAC5B,QAAA,cAAc,GAAG,KAAjB;AACH;;AACD,UAAI,cAAc,KAAK,SAAvB,EAAkC;AAC9B,QAAA,cAAc,GAAG,OAAjB;AACH;;AAED,UAAI,SAAS,GAAK,KAAK,KAAK,SAAV,IAAuB,KAAK,KAAK,EAAjC,IAAuC,KAAK,KAAK,KAAjD,IAA0D,KAAK,KAAK,OAApE,IAA+E,KAAK,KAAK,KAA1F,IAAoG,KAAK,KAAK,IAA9G,IAAsH,KAAK,KAAK,MAAhI,IAA0I,KAAK,KAAK,IAArK;AACA,aAAO,SAAS,GAAG,aAAH,GAAmB,cAAnC;;AAGJ,SAAK,SAAL;AACI,oCAAe,KAAf;AAEA,UAAI,SAAS,GAAG,KAAK,CAAC,MAAN,CAAa,CAAb,EAAgB,WAAhB,EAAhB;AACA,aAAO,SAAS,GAAG,KAAK,CAAC,MAAN,CAAa,CAAb,CAAnB;;AACJ,SAAK,SAAL;AACI,oCAAe,KAAf;AAEA,aAAO,KAAK,CAAC,OAAN,CAAc,gDAAd,EAAgE,UAAU,CAAV,EAAa;AAChF,eAAO,CAAC,CAAC,WAAF,EAAP;AACH,OAFM,CAAP;;AAIJ,SAAM,OAAN;AACA,SAAM,QAAN;AAEI,UAAI,CAAC,kBAAS,KAAT,KAAmB,kBAAS,KAAT,CAAnB,IAAsC,iBAAQ,KAAR,CAAvC,KAA0D,KAAK,CAAC,cAAN,CAAqB,QAArB,CAA9D,EAA8F;AAC1F,eAAO,KAAK,CAAC,MAAb;AACH;;AAED,YAAM,IAAI,SAAJ,CAAc,kBAAd,CAAN;;AAEJ,SAAK,QAAL;AACI,MAAA,eAAe,CAAC,KAAD,CAAf;AACA,aAAO,IAAI,CAAC,KAAD,CAAX;;AAEJ,SAAK,OAAL;AACI,aAAO,EAAP;;AAEJ,SAAK,WAAL;AACI,aAAO,SAAP;;AAEJ,SAAK,QAAL;AACI,oCAAe,KAAf;AACA,UAAI,MAAM,GAAG,IAAH,aAAG,IAAH,uBAAG,IAAI,CAAG,CAAH,CAAjB;AACA,aAAO,MAAM,GAAG,KAAhB;;AAEJ,SAAK,QAAL;AACI,oCAAe,KAAf;AACA,UAAI,MAAM,GAAG,IAAH,aAAG,IAAH,uBAAG,IAAI,CAAG,CAAH,CAAjB;AACA,aAAO,KAAK,GAAG,MAAf;;AAEJ,SAAK,QAAL;AACI,aAAQ,IAAI,MAAJ,EAAD,CAAW,QAAX,EAAP;;AAEJ,SAAK,KAAL;AACA,SAAK,UAAL;AACA,SAAK,OAAL;AAEI,MAAA,GAAG,GAAI,IAAI,CAAC,KAAL,MAAgB,WAAvB;AACA,UAAI,YAAY,GAAI,IAAI,CAAC,KAAL,MAAgB,EAApC;;AAEA,UAAI,KAAK,YAAY,GAArB,EAA0B;AACtB,YAAG,CAAC,KAAK,CAAC,GAAN,CAAU,GAAV,CAAJ,EAAoB;AAChB,iBAAO,YAAP;AACH;;AACD,eAAO,KAAK,CAAC,GAAN,CAAU,GAAV,CAAP;AACH;;AAED,UAAI,kBAAS,KAAT,KAAiB,iBAAQ,KAAR,CAArB,EAAqC;AAEjC,YAAI,KAAJ,aAAI,KAAJ,eAAI,KAAK,CAAG,GAAH,CAAT,EAAkB;AACd,iBAAO,KAAP,aAAO,KAAP,uBAAO,KAAK,CAAG,GAAH,CAAZ;AACH;;AAED,eAAO,YAAP;AACH;;AAED,YAAM,IAAI,KAAJ,CAAU,oBAAV,CAAN;;AAEJ,SAAK,MAAL;AAEI,MAAA,GAAG,GAAI,IAAI,CAAC,KAAL,MAAgB,WAAvB;AACA,aAAO,IAAI,sBAAJ,CAAe,KAAf,EAAsB,MAAtB,CAA6B,GAA7B,CAAP;;AAGJ,SAAK,WAAL;AAEI,oCAAe,KAAf;AAEA,UAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAD,CAAL,CAAR,IAAqB,CAAjC;AACA,UAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAD,CAAL,CAAR,IAAqB,CAAtB,IAA2B,KAArC;AAEA,aAAO,KAAK,CAAC,SAAN,CAAgB,KAAhB,EAAuB,GAAvB,CAAP;;AAEJ,SAAK,KAAL;AACI,aAAO,KAAP;;AAEJ;AACI,YAAM,IAAI,KAAJ,CAAU,qBAAmB,KAAK,OAAlC,CAAN;AAtLR;;AAyLA,SAAO,KAAP;AACH;;;AC/aD;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,eAAe,GAAG,eAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;IACM,S;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAY,QAAZ,EAAsB;AAAA;;AAAA;;AAClB;AACA,UAAK,eAAL,GAAuB,eAAvB;AACA,oCAAiB,QAAjB,EAA2B,+BAAkB,kBAAlB,CAA3B;AACA,UAAK,QAAL,GAAgB,QAAhB;AAJkB;AAKrB;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,4BAAmB,MAAnB,EAA2B;AACvB,oCAAe,MAAf;AACA,WAAK,eAAL,GAAuB,MAAvB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;;;;WACI,8BAAqB;AACjB,aAAO,KAAK,eAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,gCAAuB,IAAvB,EAA6B;AAEzB,UAAI,IAAI,KAAK,SAAb,EAAwB;AACpB,QAAA,IAAI,GAAG,IAAI,4BAAJ,CAAkB,EAAlB,CAAP;AACH;;AAED,sCAAiB,IAAjB,EAAuB,4BAAvB;AACA,UAAI,QAAQ,GAAG,KAAK,QAAL,CAAc,SAAd,CAAwB,IAAxB,CAAf;AACA,aAAO,QAAP;AACH;;;;EAlDmB,U;;;;AAsDxB,cAAQ,iBAAR,CAA0B,aAA1B,EAAyC,SAAzC;;;ACjGA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,a;;;;;AAEF;AACJ;AACA;AACI,2BAAc;AAAA;;AAAA;AAEb;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,6BAAoB,CAEnB;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gCAAuB,CAEtB;AAED;AACJ;AACA;AACA;AACA;;;;WACI,2BAAkB,CAEjB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,kCAAyB,QAAzB,EAAmC,MAAnC,EAA2C,MAA3C,EAAmD,CAElD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,kBAAgB;AACZ,YAAM,IAAI,KAAJ,CAAU,6DAAV,CAAN;AACH;;;;iCA5DuB,W;AAiE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACA,SAAS,qBAAT,CAA+B,OAA/B,EAAwC;AACpC,kCAAiB,OAAjB;AAEA,MAAI,GAAG,GAAG,OAAO,CAAC,MAAR,EAAV;AAEA,+BAAgB,gBAAhB,EAAkC,MAAlC,CAAyC,OAAO,CAAC,MAAR,EAAzC,EAA2D,OAA3D;AACA;AACH;;AAED,kBAAQ,iBAAR,CAA0B,aAA1B,EAAyC,aAAzC,EAAwD,qBAAxD;;;ACvKA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAM,gBAAgB,GAAG,MAAM,CAAC,eAAD,CAA/B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM,M;;;;;AACF;AACJ;AACA;AACA;AACI,kBAAY,IAAZ,EAAkB;AAAA;;AAAA;;AACd;;AAEA,QAAI,IAAI,gCAAR;;AAEA,IAAA,IAAI,CAAC,EAAL,GAAU,IAAI,MAAJ,EAAV;AAEA,oCAAiB,IAAjB,EAAuB,4BAAvB;AAEA,UAAK,IAAL,GAAY,IAAZ;AAEA,UAAK,gBAAL,GAAwB,sBAAsB,CAAC,IAAvB,+BAAxB;AACA,UAAK,YAAL,GAAoB,kBAAkB,CAAC,IAAnB,+BAApB;;AACA,UAAK,IAAL,CAAU,cAAV,CAAyB,MAAK,YAA9B;;AAEA,UAAK,KAAL,GAAa,IAAI,OAAJ,EAAb;AACA,UAAK,OAAL,GAAe,IAAI,YAAJ,EAAf;AAhBc;AAkBjB;AAED;AACJ;AACA;;;;;WACI,kBAAS;AACL;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa;AAET,UAAI,oBAAW,IAAX,EAAiB,+BAAkB,UAAlB,CAAjB,CAAJ,EAAqD;AACjD,QAAA,IAAI,GAAG,IAAI,CAAC,iBAAZ;AACH;;AAED,sCAAiB,IAAjB,EAAuB,+BAAkB,aAAlB,CAAvB;;AAEA,UAAI,CAAC,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CAAL,EAA2B;AACvB,eAAO,IAAP;AACH;;AAED,WAAK,gBAAL,CAAsB,UAAtB,CAAiC,IAAjC;AAEA,aAAO,IAAI,CAAC,OAAL,CAAa,gBAAb,CAAP;AACA,MAAA,IAAI,CAAC,eAAL,CAAqB,6BAAkB,SAAvC;AAEA,aAAO,IAAP;AAEH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa;AAET,UAAI,oBAAW,IAAX,EAAiB,+BAAkB,UAAlB,CAAjB,CAAJ,EAAqD;AACjD,QAAA,IAAI,GAAG,IAAI,CAAC,iBAAZ;AACH;;AAED,sCAAiB,IAAjB,EAAuB,+BAAkB,aAAlB,CAAvB;;AAEA,UAAI,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CAAJ,EAA0B;AACtB,eAAO,IAAP;AACH;;AAED,MAAA,IAAI,CAAC,OAAL,CAAa,gBAAb,IAAiC,IAAjC;AACA,MAAA,IAAI,CAAC,YAAL,CAAkB,6BAAkB,SAApC,EAA+C,IAA/C;AAEA,WAAK,gBAAL,CAAsB,OAAtB,CAA8B,IAA9B,EAAoC;AAChC,QAAA,UAAU,EAAE,IADoB;AAEhC,QAAA,SAAS,EAAE,IAFqB;AAGhC,QAAA,OAAO,EAAE,IAHuB;AAIhC,QAAA,aAAa,EAAE,IAJiB;AAKhC,QAAA,qBAAqB,EAAE,IALS;AAMhC,QAAA,iBAAiB,EAAE;AANa,OAApC;AASA,WAAK,KAAL,CAAW,GAAX,CAAe,IAAf;AAEA,aAAO,IAAP;AAEH;;;;EA3FgB,U;AA8FrB;AACA;AACA;AACA;AACA;;;;;AACA,SAAS,kBAAT,GAA8B;AAC1B,MAAM,IAAI,GAAG,IAAb;AAEA,SAAO,IAAI,kBAAJ,CAAa,YAAM;AACtB,IAAA,IAAI,CAAC,MAAL;AACH,GAFM,CAAP;AAGH;AAED;AACA;AACA;AACA;AACA;;;AACA,SAAS,sBAAT,GAAkC;AAE9B,MAAM,IAAI,GAAG,IAAb;AAEA;AACJ;AACA;AACA;;AACI,MAAM,gBAAgB,GAAG,+BAAkB,kBAAlB,CAAzB,CAR8B,CAU9B;;AACA,SAAO,IAAI,gBAAJ,CAAqB,UAAC,aAAD,EAAgB,QAAhB,EAA6B;AAAA,+CAE1B,aAF0B;AAAA;;AAAA;AAEjD,0DAAsC;AAAA,YAA3B,QAA2B;AAClC,QAAA,IAAI,CAAC,OAAL,CAAa,IAAb,CAAkB,QAAlB;AACH;AAJgD;AAAA;AAAA;AAAA;AAAA;;AAMjD,IAAA,IAAI,CAAC,MAAL;AACH,GAPE,CAAP;AAUH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,iBAAT,CAA2B,IAA3B,EAAiC;AAAA;;AAC7B,kCAAiB,IAAjB,EAAuB,+BAAkB,MAAlB,CAAvB;AAEA,MAAI,MAAM,oBAAG,IAAI,CAAC,OAAR,kDAAG,cAAe,gBAAf,CAAb;;AACA,MAAI,MAAM,KAAK,SAAf,EAA0B;AACtB,QAAI,UAAU,GAAG,IAAH,aAAG,IAAH,uBAAG,IAAI,CAAG,YAAH,CAArB;;AACA,QAAI,oBAAW,UAAX,EAAuB,+BAAkB,MAAlB,CAAvB,CAAJ,EAAuD;AACnD,aAAO,iBAAiB,CAAC,UAAD,CAAxB;AACH;AACJ;;AAED,SAAO,MAAP;AACH;;AAED,cAAQ,iBAAR,CAA0B,aAA1B,EAAyC,iBAAzC,EAA4D,MAA5D;;;ACjOA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,Q;;;;;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACI,oBAAY,QAAZ,EAAsB;AAAA;;AAAA;;AAClB;AACA,QAAM,mBAAmB,GAAG,+BAAkB,qBAAlB,CAA5B;AACA,oCAAiB,QAAjB,EAA2B,mBAA3B;AACA,UAAK,QAAL,GAAgB,QAAhB;AAJkB;AAKrB;AAED;AACJ;AACA;AACA;;;;;WACI,8BAAqB;AACjB,aAAO,KAAK,QAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,kCAAyB;AACrB,aAAO,KAAK,QAAL,CAAc,OAAd,CAAsB,SAAtB,CAAgC,IAAhC,CAAP;AACH;;;;EA9BkB,U;AAkCvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACA,SAAS,oBAAT,CAA8B,EAA9B,EAAkC;AAC9B,gCAAe,EAAf;AACA,MAAM,QAAQ,GAAG,6BAAgB,UAAhB,CAAjB;AACA,MAAM,mBAAmB,GAAG,+BAAkB,qBAAlB,CAA5B;AAEA,MAAI,KAAK,GAAG,8BAAZ;AACA,MAAI,QAAQ,GAAG,EAAE,GAAG,GAAL,GAAW,KAAK,CAAC,OAAN,EAA1B;AAEA,MAAI,QAAQ,GAAG,QAAQ,CAAC,cAAT,CAAwB,QAAxB,CAAf;;AACA,MAAI,QAAQ,YAAY,mBAAxB,EAA6C;AACzC,WAAO,IAAI,QAAJ,CAAa,QAAb,CAAP;AACH;;AAED,EAAA,QAAQ,GAAG,QAAQ,CAAC,cAAT,CAAwB,EAAxB,CAAX;;AACA,MAAI,QAAQ,YAAY,mBAAxB,EAA6C;AACzC,WAAO,IAAI,QAAJ,CAAa,QAAb,CAAP;AACH;;AAED,QAAM,IAAI,KAAJ,CAAU,cAAc,EAAd,GAAmB,aAA7B,CAAN;AACH;;AAGD,cAAQ,iBAAR,CAA0B,aAA1B,EAAyC,QAAzC,EAAmD,oBAAnD;;;ACxHA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAM,aAAa,GAAG,SAAtB;AAEA;AACA;AACA;AACA;;AACA,IAAM,oBAAoB,GAAG,yBAA7B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM,K;;;;;AAEF;AACJ;AACA;AACA;AACA;AACI,iBAAY,IAAZ,EAAkB;AAAA;;AAAA;;AACd;AACA,kCAAe,IAAf;AACA,UAAK,IAAL,GAAY,IAAZ;AAHc;AAIjB;AAED;AACJ;AACA;AACA;;;;;WACI,mBAAU;AACN,aAAO,KAAK,IAAZ;AACH;;;;EAnBe,U;AAuBpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACA,SAAS,gBAAT,GAA4B;AACxB,MAAI,QAAQ,GAAG,6BAAgB,UAAhB,CAAf;AACA,MAAI,IAAI,GAAG,aAAX;AAEA,MAAI,OAAO,GAAG,QAAQ,CAAC,aAAT,CAAuB,MAAvB,CAAd;;AACA,MAAI,OAAO,YAAY,WAAvB,EAAoC;AAChC,QAAI,KAAK,GAAG,OAAO,CAAC,YAAR,CAAqB,oBAArB,CAAZ;;AACA,QAAI,KAAJ,EAAW;AACP,MAAA,IAAI,GAAG,KAAP;AACH;AACJ;;AAED,SAAO,IAAI,KAAJ,CAAU,IAAV,CAAP;AAEH;;AAED,cAAQ,iBAAR,CAA0B,aAA1B,EAAyC,KAAzC,EAAgD,gBAAhD;;;AC3GA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAT,GAAuB;AAAA;;AACnB,MAAI,QAAQ,iBAAG,wBAAH,+CAAG,WAAc,UAAd,CAAf;;AACA,MAAI,QAAO,QAAP,MAAoB,QAAxB,EAAkC;AAC9B,UAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACH;;AAED,SAAO,QAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,GAAqB;AAAA;;AACjB,MAAI,MAAM,kBAAG,wBAAH,gDAAG,YAAc,QAAd,CAAb;;AACA,MAAI,QAAO,MAAP,MAAkB,QAAtB,EAAgC;AAC5B,UAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACH;;AAED,SAAO,MAAP;AACH;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,6BAAT,CAAuC,IAAvC,EAA6C;AACzC,gCAAe,IAAf;AAEA,MAAM,QAAQ,GAAG,WAAW,EAA5B;AACA,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAT,CAAuB,UAAvB,CAAjB;AACA,EAAA,QAAQ,CAAC,SAAT,GAAqB,IAArB;AAEA,SAAO,QAAQ,CAAC,OAAhB;AACH;;AAGD,gBAAQ,iBAAR,CAA0B,aAA1B,EAAyC,SAAzC,EAAoD,WAApD,EAAiE,6BAAjE;;;ACzMA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,O;;;;;AACF,qBAAc;AAAA;;AAAA;;AACV;AAEA;AACR;AACA;AACA;AACA;;AACQ,UAAK,QAAL,GAAgB,WAAhB;AARU;AASb;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACI,aAAI,KAAJ,EAAW;A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EA,MAAI,KAAK,KAAK,SAAV,IAAuB,KAAK,KAAK,IAAjC,IAAyC,KAAK,KAAK,GAAvD,EAA4D;AACxD,WAAO,IAAP;AACH;;AAED,EAAA,IAAI,WAAU,KAAV,CAAJ;;AAEA,MAAI,IAAI,KAAK,QAAT,IAAqB,IAAI,KAAK,QAA9B,IAA0C,IAAI,KAAK,SAAnD,IAAgE,IAAI,KAAK,QAA7E,EAAuF;AACnF,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,CAAmB,KAAnB,EAA0B;AAEtB,MAAI,KAAK,KAAK,IAAV,IAAkB,KAAK,KAAK,KAAhC,EAAuC;AACnC,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,QAAT,CAAkB,KAAlB,EAAyB;AACrB,MAAI,KAAK,KAAK,SAAV,IAAuB,OAAO,KAAP,KAAiB,QAA5C,EAAsD;AAClD,WAAO,KAAP;AACH;;AACD,SAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,QAAT,CAAkB,KAAlB,EAAyB;AAErB,MAAI,OAAO,CAAC,KAAD,CAAX,EAAoB,OAAO,KAAP;AACpB,MAAI,WAAW,CAAC,KAAD,CAAf,EAAwB,OAAO,KAAP;;AAExB,MAAI,QAAO,KAAP,MAAiB,QAArB,EAA+B;AAC3B,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,KAApB,EAA2B,QAA3B,EAAqC;AAEjC,MAAI,CAAC,QAAQ,CAAC,KAAD,CAAb,EAAsB,OAAO,KAAP;AACtB,MAAI,CAAC,UAAU,CAAC,QAAD,CAAf,EAA2B,OAAO,KAAP;AAC3B,MAAI,CAAC,QAAQ,CAAC,cAAT,CAAwB,WAAxB,CAAL,EAA2C,OAAO,KAAP;AAC3C,SAAQ,KAAK,YAAY,QAAlB,GAA8B,IAA9B,GAAqC,KAA5C;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,OAAT,CAAiB,KAAjB,EAAwB;AACpB,MAAI,KAAK,CAAC,OAAN,CAAc,KAAd,CAAJ,EAA0B;AACtB,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,KAApB,EAA2B;AACvB,MAAI,OAAO,CAAC,KAAD,CAAX,EAAoB,OAAO,KAAP;AACpB,MAAI,WAAW,CAAC,KAAD,CAAf,EAAwB,OAAO,KAAP;;AAExB,MAAI,OAAO,KAAP,KAAiB,UAArB,EAAiC;AAC7B,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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KAAK,GAAG,KAAK,IAAL,CAAU,KAAV,EAAZ;AACA,WAAK,MAAL,WAAmB,KAAnB;AACA,aAAO,KAAP;AACH;;;;EAtDqB,Y;;;;AA2D1B,eAAQ,iBAAR,CAA0B,eAA1B,EAA2C,WAA3C;;;ACrFA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AAEA;;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,gBAAT,CAA0B,KAA1B,EAAiC;AAC7B,MAAI,CAAC,oBAAW,KAAX,CAAL,EAAwB;AACpB,UAAM,IAAI,SAAJ,CAAc,uBAAd,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,iBAAT,CAA2B,KAA3B,EAAkC;AAC9B,MAAI,CAAC,qBAAY,KAAZ,CAAL,EAAyB;AACrB,UAAM,IAAI,SAAJ,CAAc,0BAAd,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,KAAzB,EAAgC;AAC5B,MAAI,CAAC,mBAAU,KAAV,CAAL,EAAuB;AACnB,UAAM,IAAI,SAAJ,CAAc,wBAAd,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;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", + "mappings": "AAAA;ACAA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,kB;;;;;AAEF;AACJ;AACA;AACI,gCAAc;AAAA;;AAAA;AAEb;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,iBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAjB4B,U;;;;AAoBjC,mBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,kBAAjD;;;ACvCA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,gB;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,4BAAY,QAAZ,EAAsB,QAAtB,EAAgC;AAAA;;AAAA;;AAC5B;;AAEA,QAAI,EAAE,QAAQ,YAAY,4BAAtB,KAA6C,EAAE,QAAQ,YAAY,4BAAtB,CAAjD,EAA4F;AACxF,YAAM,IAAI,SAAJ,CAAc,iDAAd,CAAN;AACH;;AAED,UAAK,QAAL,GAAgB,QAAhB;AACA,UAAK,QAAL,GAAgB,QAAhB;AAR4B;AAU/B;;;EAlB0B,4B;;;;AAuB/B,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,gBAAjD;;;ACtCA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,W;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,GAAR,CAAY,CAAC,KAAK,QAAL,CAAc,OAAd,CAAsB,KAAtB,CAAD,EAA+B,KAAK,QAAL,CAAc,OAAd,CAAsB,KAAtB,CAA/B,CAAZ,CAAP;AACH;;;;EAVqB,kC;;;;AAc1B,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,WAAjD;;;AChEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,O;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAViB,4B;;;;AActB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,OAAjD;;;ACxDA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,O;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,UAAI,iBAAQ,KAAR,CAAJ,EAAoB;AAChB,eAAO,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAP;AACH;;AAED,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAdiB,4B;;;;AAkBtB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,OAAjD;;;AChEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,Q;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,UAAI,kBAAS,KAAT,CAAJ,EAAqB;AACjB,eAAO,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAP;AACH;;AAED,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAdkB,4B;;;;AAkBvB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,QAAjD;;;ACjEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,U;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,UAAI,IAAI,GAAG,IAAX;AAEA,aAAO,IAAI,OAAJ,CAAY,UAAU,OAAV,EAAmB,MAAnB,EAA2B;AAC1C,YAAI,CAAJ,EAAO,CAAP;AAEA,QAAA,IAAI,CAAC,QAAL,CAAc,OAAd,CAAsB,KAAtB,EACK,IADL,CACU,YAAY;AACd,UAAA,OAAO;AACV,SAHL,WAGa,YAAY;AACrB,UAAA,CAAC,GAAG,KAAJ;AACA;;AACA,cAAI,CAAC,KAAK,KAAV,EAAiB;AACb,YAAA,MAAM;AACT;AACJ,SATD;AAWA,QAAA,IAAI,CAAC,QAAL,CAAc,OAAd,CAAsB,KAAtB,EACK,IADL,CACU,YAAY;AACd,UAAA,OAAO;AACV,SAHL,WAGa,YAAY;AACrB,UAAA,CAAC,GAAG,KAAJ;AACA;;AACA,cAAI,CAAC,KAAK,KAAV,EAAiB;AACb,YAAA,MAAM;AACT;AACJ,SATD;AAUH,OAxBM,CAAP;AAyBH;;;;EApCoB,kC;;;;AAyCzB,0BAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,UAAjD;;;AC1FA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,K;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAP;AACH;;;;EAVe,4B;;;;AAcpB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,KAAjD;;;ACxDA;AAEA;AACA;AACA;;;;;;;;;;;;;AAGA;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAT,CAAc,KAAd,EAAqB,MAArB,EAA6B;AACzB,SAAO,MAAM,CAAC,KAAD,EAAQ,MAAR,CAAb;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,OAAT,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,IAAvB,EAA6B;AACzB,MAAI,iBAAQ,IAAR,CAAJ,EAAmB;AACf,QAAM,IAAI,GAAG,CAAC,CAAC,MAAF,GAAW,CAAC,CAAC,MAAb,GAAsB,IAAI,KAAJ,CAAU,CAAC,CAAC,MAAZ,CAAtB,GAA4C,IAAI,KAAJ,CAAU,CAAC,CAAC,MAAZ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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM,U;;;;;AAEF;AACJ;AACA;AACA;AACI,sBAAY,MAAZ,EAAoB;AAAA;;AAAA;;AAChB;AACA,UAAK,MAAL,GAAc,MAAd;AACA,UAAK,QAAL,GAAgB,QAAhB;AAHgB;AAInB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;WACI,qBAAY,QAAZ,EAAsB;AAClB,oCAAe,QAAf;AACA,WAAK,QAAL,GAAgB,QAAhB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa;AACT,oCAAe,IAAf;AACA,aAAO,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAAK,MAAhC,EAAwC,IAAxC,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa,KAAb,EAAoB;AAChB,oCAAe,IAAf;AACA,MAAA,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAAK,MAAhC,EAAwC,IAAxC,EAA8C,KAA9C;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,mBAAU,IAAV,EAAgB;AACZ,oCAAe,IAAf;AACA,MAAA,kBAAkB,CAAC,IAAnB,CAAwB,IAAxB,EAA8B,KAAK,MAAnC,EAA2C,IAA3C;AACA,aAAO,IAAP;AAC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A;AAEA;AACA;AACA;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,W;;;;;AACF;AACJ;AACA;AACA;AACI,uBAAY,UAAZ,EAAwB;AAAA;;AAAA;;AACpB;AACA,kCAAe,UAAf;AAEA,UAAK,IAAL,GAAY,WAAW,CAAC,UAAD,CAAvB;AACA,UAAK,OAAL,GAAe,MAAK,IAAL,CAAU,KAAV,EAAf;AACA,UAAK,SAAL,GAAiB,IAAI,GAAJ,EAAjB;AANoB;AAQvB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACI,qBAAY,IAAZ,EAAkB,QAAlB,EAA4B;AACxB,oCAAe,IAAf;AACA,sCAAiB,QAAjB;AACA,WAAK,SAAL,CAAe,GAAf,CAAmB,IAAnB,EAAyB,QAAzB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,aAAI,KAAJ,EAAW;AACP,aAAO,SAAS,CAAC,KAAV,CAAgB,IAAhB,EAAsB,CAAC,KAAD,CAAtB,CAAP;AACH;;;;EAxCqB,U;;;;AA2C1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CA;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,a;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,2BAAc;AAAA;;AAAA;;AACV;AACA,UAAK,QAAL,GAAgB,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,MAAK,QAAvB,EAAiC,wBAAwB,CAAC,IAAzB,+BAAjC,CAAhB;;AACA,UAAK,IAAL;;AAHU;AAIb;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;SACI,eAAe;AACX,aAAO;AACH,QAAA,UAAU,EAAE,MADT;AAEH,QAAA,cAAc,EAAE;AAFb,OAAP;AAIH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,mBAAU,GAAV,EAAe,YAAf,EAA6B;AAAA;;AACzB,oCAAe,GAAf;AACA,UAAI,CAAC,qBAAG,KAAK,QAAR,mDAAG,eAAgB,GAAhB,CAAR;AACA,UAAI,CAAC,KAAK,SAAV,EAAqB,OAAO,YAAP;AACrB,aAAO,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO;AACH,MAAA,cAAc,CAAC,IAAf,CAAoB,IAApB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,oBAAW;AACP,aAAO,IAAP;AAC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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAT,GAAuB;AAAA;;AACnB,MAAI,QAAQ,iBAAG,wBAAH,+CAAG,WAAc,UAAd,CAAf;;AACA,MAAI,QAAO,QAAP,MAAoB,QAAxB,EAAkC;AAC9B,UAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACH;;AAED,SAAO,QAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,GAAqB;AAAA;;AACjB,MAAI,MAAM,kBAAG,wBAAH,gDAAG,YAAc,QAAd,CAAb;;AACA,MAAI,QAAO,MAAP,MAAkB,QAAtB,EAAgC;AAC5B,UAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACH;;AAED,SAAO,MAAP;AACH;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,6BAAT,CAAuC,IAAvC,EAA6C;AACzC,gCAAe,IAAf;AAEA,MAAM,QAAQ,GAAG,WAAW,EAA5B;AACA,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAT,CAAuB,UAAvB,CAAjB;AACA,EAAA,QAAQ,CAAC,SAAT,GAAqB,IAArB;AAEA,SAAO,QAAQ,CAAC,OAAhB;AACH;;AAGD,gBAAQ,iBAAR,CAA0B,aAA1B,EAAyC,SAAzC,EAAoD,WAApD,EAAiE,6BAAjE;;;ACzMA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,O;;;;;AACF,qBAAc;AAAA;;AAAA;;AACV;AAEA;AACR;AACA;AACA;AACA;;AACQ,UAAK,QAAL,GAAgB,WAAhB;AARU;AASb;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACI,aAAI,KAAJ,EAAW;AACP,sCAAiB,KAAjB,EAAwB,kBAAxB;;AAEA,UAAI,KAAK,QAAL,GAAgB,KAAK,CAAC,WAAN,EAApB,EAAyC;AACrC,eAAO,KAAP;AACH;;AAED,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,qBAAY,QAAZ,EAAsB;AAClB,qCAAgB,QAAhB;AACA,WAAK,QAAL,GAAgB,QAAhB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,uBAAc;AACV,aAAO,KAAK,QAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,kBAAS;AACL,WAAK,WAAL,CAAiB,WAAjB;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,wBAAW;AACP,WAAK,WAAL,CAAiB,aAAjB;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,wBAAW;AACP,WAAK,WAAL,CAAiB,aAAjB;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,uBAAU;AACN,WAAK,WAAL,CAAiB,YAAjB;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,uBAAU;AACN,W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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAT,CAAoB,KAApB,EAA2B;AACvB,MAAI,KAAK,KAAK,SAAd,EAAyB,OAAO,KAAP;AACzB,MAAI,KAAK,KAAK,IAAd,EAAoB,OAAO,KAAP;AACpB,SAAO,QAAO,KAAP,aAAO,KAAP,uBAAO,KAAK,CAAG,MAAM,CAAC,QAAV,CAAZ,MAAoC,UAA3C;AACH;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,WAAT,CAAqB,KAArB,EAA4B;AACxB,MAAI,IAAJ;;AAEA,MAAI,KAAK,KAAK,SAAV,IAAuB,KAAK,KAAK,IAAjC,IAAyC,KAAK,KAAK,GAAvD,EAA4D;AACxD,WAAO,IAAP;AACH;;AAED,EAAA,IAAI,WAAU,KAAV,CAAJ;;AAEA,MAAI,IAAI,KAAK,QAAT,IAAqB,IAAI,KAAK,QAA9B,IAA0C,IAAI,KAAK,SAAnD,IAAgE,IAAI,KAAK,QAA7E,EAAuF;AACnF,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,CAAmB,KAAnB,EAA0B;AAEtB,MAAI,KAAK,KAAK,IAAV,IAAkB,KAAK,KAAK,KAAhC,EAAuC;AACnC,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,QAAT,CAAkB,KAAlB,EAAyB;AACrB,MAAI,KAAK,KAAK,SAAV,IAAuB,OAAO,KAAP,KAAiB,QAA5C,EAAsD;AAClD,WAAO,KAAP;AACH;;AACD,SAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,QAAT,CAAkB,KAAlB,EAAyB;AAErB,MAAI,OAAO,CAAC,KAAD,CAAX,EAAoB,OAAO,KAAP;AACpB,MAAI,WAAW,CAAC,KAAD,CAAf,EAAwB,OAAO,KAAP;;AAExB,MAAI,QAAO,KAAP,MAAiB,QAArB,EAA+B;AAC3B,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,KAApB,EAA2B,QAA3B,EAAqC;AAEjC,MAAI,CAAC,QAAQ,CAAC,KAAD,CAAb,EAAsB,OAAO,KAAP;AACtB,MAAI,CAAC,UAAU,CAAC,QAAD,CAAf,EAA2B,OAAO,KAAP;AAC3B,MAAI,CAAC,QAAQ,CAAC,cAAT,CAAwB,WAAxB,CAAL,EAA2C,OAAO,KAAP;AAC3C,SAAQ,KAAK,YAAY,QAAlB,GAA8B,IAA9B,GAAqC,KAA5C;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,OAAT,CAAiB,KAAjB,EAAwB;AACpB,MAAI,KAAK,CAAC,OAAN,CAAc,KAAd,CAAJ,EAA0B;AACtB,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,KAApB,EAA2B;AACvB,MAAI,OAAO,CAAC,KAAD,CAAX,EAAoB,OAAO,KAAP;AACpB,MAAI,WAAW,CAAC,KAAD,CAAf,EAAwB,OAAO,KAAP;;AAExB,MAAI,OAAO,KAAP,KAAiB,UAArB,EAAiC;AAC7B,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,CAAmB,KAAnB,EAA0B;AACtB,SAAO,MAAM,CAAC,SAAP,CAAiB,KAAjB,CAAP;AACH;;AAGD,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,WAA3C,EAAwD,SAAxD,EAAmE,QAAnE,EAA6E,QAA7E,EAAuF,OAAvF,EAAgG,UAAhG,EAA4G,UAA5G,EAAwH,SAAxH;;;AC5WA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,Q;;;;;AAEF;AACJ;AACA;AACA;AACA;AACI,oBAAY,QAAZ,EAA+B;AAAA;;AAAA;;AAC3B;;AAEA,QAAI,OAAO,QAAP,KAAoB,UAAxB,EAAoC;AAChC,YAAM,IAAI,KAAJ,CAAU,sCAAV,CAAN;AACH;;AAED,UAAK,QAAL,GAAgB,QAAhB;;AAP2B,sCAAN,IAAM;AAAN,MAAA,IAAM;AAAA;;AAQ3B,UAAK,SAAL,GAAiB,IAAjB;AACA,UAAK,IAAL,GAAY,IAAI,oBAAJ,EAAZ;AACA,UAAK,KAAL,GAAa,IAAI,wBAAJ,EAAb;AAV2B;AAW9B;AAED;AACJ;AACA;AACA;AACA;;;;;WACI,gBAAO,GAAP,EAAY;AACR,WAAK,IAAL,CAAU,GAAV,CAAc,GAAd;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,mBAAU,GAAV,EAAe;AACX,WAAK,IAAL,CAAU,MAAV,CAAiB,GAAjB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;;;;WACI,mBAAU;AACN,aAAO,KAAK,IAAL,CAAU,OAAV,EAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO,GAAP,EAAY;AACR,aAAO,KAAK,IAAL,CAAU,QAAV,CAAmB,GAAnB,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO,OAAP,EAAgB;AACZ,UAAI,IAAI,GAAG,IAAX;AAEA,aAAO,IAAI,OAAJ,CAAY,UAAU,OAAV,EAAmB,MAAnB,EAA2B;AAC1C,YAAI,CAAC,kBAAS,OAAT,CAAL,EAAwB;AACpB,UAAA,MAAM,CAAC,2BAAD,CAAN;AACA;AACH;;AAED,QAAA,IAAI,CAAC,KAAL,CAAW,GAAX,CAAe,OAAf;AAEA,QAAA,UAAU,CAAC,YAAM;AAEb,cAAI;AACA;AACA;AACA,gBAAI,IAAI,CAAC,KAAL,CAAW,OAAX,EAAJ,EAA0B;AACtB,cAAA,OAAO;AACP;AACH;;AAED,gBAAI,CAAC,GAAG,IAAI,CAAC,KAAL,CAAW,IAAX,EAAR;AACA,gBAAI,MAAM,GAAG,IAAI,CAAC,QAAL,CAAc,KAAd,CAAoB,CAApB,EAAuB,IAAI,CAAC,SAA5B,CAAb;;AAEA,gBAAI,kBAAS,MAAT,KAAoB,MAAM,YAAY,OAA1C,EAAmD;AAC/C,cAAA,MAAM,CAAC,IAAP,CAAY,OAAZ,WAA2B,MAA3B;AACA;AACH;;AAED,YAAA,OAAO,CAAC,MAAD,CAAP;AAEH,WAlBD,CAkBE,OAAO,CAAP,EAAU;AACR,YAAA,MAAM,CAAC,CAAD,CAAN;AACH;AACJ,SAvBS,EAuBP,CAvBO,CAAV;AAyBH,OAjCM,CAAP;AAmCH;;;;EApGkB,U;;;;AAwGvB,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,QAA3C;;;ACnLA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,Y;;;;;AAEF;AACJ;AACA;AACI,0BAAc;AAAA;;AAAA;;AACV;AACA,UAAK,SAAL,GAAiB,EAAjB;AAFU;AAGb;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,gBAAO,QAAP,EAAiB;AACb,sCAAiB,QAAjB,EAA2B,kBAA3B;AAEA,WAAK,SAAL,CAAe,IAAf,CAAoB,QAApB;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,oBAAO,QAAP,EAAiB;AACb,sCAAiB,QAAjB,EAA2B,kBAA3B;AAEA,UAAI,CAAC,GAAG,CAAR;AAAA,UAAW,CAAC,GAAG,KAAK,SAAL,CAAe,MAA9B;;AACA,aAAO,CAAC,GAAG,CAAX,EAAc,CAAC,EAAf,EAAmB;AACf,YAAI,KAAK,SAAL,CAAe,CAAf,MAAsB,QAA1B,EAAoC;AAChC,eAAK,SAAL,CAAe,MAAf,CAAsB,CAAtB,EAAyB,CAAzB;AACH;AACJ;;AAED,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,sBAAS,QAAT,EAAmB;AACf,sCAAiB,QAAjB,EAA2B,kBAA3B;AACA,UAAI,CAAC,GAAG,CAAR;AAAA,UAAW,CAAC,GAAG,KAAK,SAAL,CAAe,MAA9B;;AACA,aAAO,CAAC,GAAG,CAAX,EAAc,CAAC,EAAf,EAAmB;AACf,YAAI,KAAK,SAAL,CAAe,CAAf,MAAsB,QAA1B,EAAoC;AAChC,iBAAO,IAAP;AACH;AACJ;;AACD,aAAO,KAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACI,oBAAO,OAAP,EAAgB;AAEZ,UAAI,OAAO,GAAG,EAAd;AAEA,UAAI,CAAC,GAAG,CAAR;AAAA,UAAW,CAAC,GAAG,KAAK,SAAL,CAAe,MAA9B;;AACA,aAAO,CAAC,GAAG,CAAX,EAAc,CAAC,EAAf,EAAmB;AACf,QAAA,OAAO,CAAC,IAAR,CAAa,KAAK,SAAL,CAAe,CAAf,EAAkB,MAAlB,CAAyB,OAAzB,CAAb;AACH;;AAED,aAAO,OAAO,CAAC,GAAR,CAAY,OAAZ,CAAP;AACH;;;;EA1EsB,U;;;;AA8E3B,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,YAA3C;;;ACpHA;AAEA;AACA;AACA;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,a;;;;;AAEF;AACJ;AACA;AACA;AACA;AACI,yBAAY,MAAZ,EAAoB;AAAA;;AAAA;;AAChB;AACA,kCAAe,MAAf;AACA,UAAK,WAAL,GAAmB,MAAnB;AACA,UAAK,OAAL,GAAe,IAAI,KAAJ,CAAU,MAAV,EAAkB,UAAU,CAAC,IAAX,+BAAlB,CAAf;AAEA,UAAK,SAAL,GAAiB,IAAI,OAAJ,EAAjB;;AACA,UAAK,SAAL,CAAe,GAAf,CAAmB,MAAK,WAAxB,EAAqC,MAAK,OAA1C;;AAEA,UAAK,SAAL,GAAiB,IAAI,0BAAJ,EAAjB;AATgB;AAUnB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;WACI,sBAAa;AACT,aAAO,KAAK,OAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,0BAAiB;AACb,aAAO,KAAK,WAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,wBAAe,QAAf,EAAyB;AACrB,WAAK,SAAL,CAAe,MAAf,CAAsB,QAAtB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,wBAAe,QAAf,EAAyB;AACrB,WAAK,SAAL,CAAe,MAAf,CAAsB,QAAtB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,2BAAkB;AACd,aAAO,KAAK,SAAL,CAAe,MAAf,CAAsB,IAAtB,CAAP;AACH;AAED;AACJ;AACA;AACA;;;;WACI,0BAAiB,QAAjB,EAA2B;AACvB,aAAO,KAAK,SAAL,CAAe,QAAf,CAAwB,QAAxB,CAAP;AACH;;;;EA5EuB,U;;;;AAgF5B,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,aAA3C;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAT,GAAsB;AAElB,MAAM,KAAK,GAAG,IAAd,CAFkB,CAIlB;;AACA,MAAM,OAAO,GAAG;AAEZ;AACA,IAAA,GAAG,EAAE,aAAU,MAAV,EAAkB,GAAlB,EAAuB,QAAvB,EAAiC;AAElC,UAAM,KAAK,GAAG,OAAO,CAAC,GAAR,CAAY,MAAZ,EAAoB,GAApB,EAAyB,QAAzB,CAAd;;AAEA,UAAI,QAAO,GAAP,MAAe,QAAnB,EAA6B;AACzB,eAAO,KAAP;AACH;;AAED,UAAI,qBAAY,KAAZ,CAAJ,EAAwB;AACpB,eAAO,KAAP;AACH,OAViC,CAYlC;;;AACA,UAAK,iBAAQ,KAAR,KAAkB,kBAAS,KAAT,CAAvB,EAAyC;AACrC,YAAI,KAAK,CAAC,SAAN,CAAgB,GAAhB,CAAoB,KAApB,CAAJ,EAAgC;AAC5B,iBAAO,KAAK,CAAC,SAAN,CAAgB,GAAhB,CAAoB,KAApB,CAAP;AACH,SAFD,MAEO;AACH,cAAI,CAAC,GAAG,IAAI,KAAJ,CAAU,KAAV,EAAiB,OAAjB,CAAR;AACA,UAAA,KAAK,CAAC,SAAN,CAAgB,GAAhB,CAAoB,KAApB,EAA2B,CAA3B;AACA,iBAAO,CAAP;AACH;AAEJ;;AAED,aAAO,KAAP;AAEH,KA7BW;AA+BZ;AACA,IAAA,GAAG,EAAE,aAAU,MAAV,EAAkB,GAAlB,EAAuB,KAAvB,EAA8B,QAA9B,EAAwC;AACzC,UAAM,MAAM,GAAG,OAAO,CAAC,GAAR,CAAY,MAAZ,EAAoB,GAApB,EAAyB,KAAzB,EAAgC,QAAhC,CAAf;;AACA,UAAI,QAAO,QAAP,yCAAO,QAAP,OAAoB,QAAxB,EAAkC;AAC9B,QAAA,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAvB;AACH;;AAED,aAAO,MAAP;AACH,KAvCW;AAyCZ;AACA,IAAA,cAAc,EAAE,wBAAU,MAAV,EAAkB,GAAlB,EAAuB;AACnC,UAAI,GAAG,IAAI,MAAX,EAAmB;AACf,eAAO,MAAM,CAAC,GAAD,CAAb;;AAEA,YAAI,QAAO,GAAP,MAAe,QAAnB,EAA6B;AACzB,UAAA,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAvB;AACH;;AAGD,eAAO,IAAP;AACH;;AACD,aAAO,KAAP;AACH,KAtDW;AAwDZ;AACA,IAAA,cAAc,EAAE,wBAAU,MAAV,EAAkB,GAAlB,EAAuB,UAAvB,EAAmC;AAC/C,UAAI,MAAM,GAAG,OAAO,CAAC,cAAR,CAAuB,MAAvB,EAA+B,GAA/B,EAAoC,UAApC,CAAb;;AAEA,UAAI,QAAO,GAAP,MAAe,QAAnB,EAA6B;AACzB,QAAA,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAvB;AACH;;AAGD,aAAO,MAAP;AACH,KAlEW;AAoEZ;AACA,IAAA,cAAc,EAAE,wBAAU,MAAV,EAAkB,GAAlB,EAAuB;AACnC,UAAI,MAAM,GAAG,OAAO,CAAC,cAAR,CAAuB,OAAvB,EAAgC,GAAhC,CAAb;;AAEA,UAAI,QAAO,GAAP,MAAe,QAAnB,EAA6B;AACzB,QAAA,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAvB;AACH;;AAED,aAAO,MAAP;AACH;AA7EW,GAAhB;AAkFA,SAAO,OAAP;AACH;;;;;;;;;;;;;;;;;;ACvPD;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,K;;;;;AAEF;AACJ;AACA;AACI,mBAAc;AAAA;;AAAA;;AACV;AACA,UAAK,IAAL,GAAY,EAAZ;AAFU;AAGb;AAGD;AACJ;AACA;;;;;WACI,mBAAU;AACN,aAAO,KAAK,IAAL,CAAU,MAAV,KAAqB,CAA5B;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO;AACH,UAAI,KAAK,OAAL,EAAJ,EAAoB;AAChB,eAAO,SAAP;AACH;;AAED,aAAO,KAAK,IAAL,CAAU,CAAV,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,aAAI,KAAJ,EAAW;AACP,WAAK,IAAL,CAAU,IAAV,CAAe,KAAf;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,iBAAQ;AACJ,WAAK,IAAL,GAAY,EAAZ;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,gBAAO;AACH,UAAI,KAAK,OAAL,EAAJ,EAAoB;AAChB,eAAO,SAAP;AACH;;AACD,aAAO,KAAK,IAAL,CAAU,KAAV,EAAP;AACH;;;;EA/De,U;;;;AAoEpB,cAAQ,iBAAR,CAA0B,eAA1B,EAA2C,KAA3C;;;ACpHA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAI,eAAe,GAAG,CAAtB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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;;AACA,SAAS,iBAAT,CAA2B,KAA3B,EAAkC;AAC9B,MAAI,CAAC,qBAAY,KAAZ,CAAL,EAAyB;AACrB,UAAM,IAAI,SAAJ,CAAc,0BAAd,CAAN;AACH;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,KAAzB,EAAgC;AAC5B,MAAI,CAAC,mBAAU,KAAV,CAAL,EAAuB;AACnB,UAAM,IAAI,SAAJ,CAAc,wBAAd,CAAN;AACH;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,cAAT,CAAwB,KAAxB,EAA+B;AAC3B,MAAI,CAAC,kBAAS,KAAT,CAAL,EAAsB;AAClB,UAAM,IAAI,SAAJ,CAAc,uBAAd,CAAN;AACH;;AACD,SAAO,KAAP;AACH;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,cAAT,CAAwB,KAAxB,EAA+B;AAC3B,MAAI,CAAC,kBAAS,KAAT,CAAL,EAAsB;AAClB,UAAM,IAAI,SAAJ,CAAc,uBAAd,CAAN;AACH;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,gBAAT,CA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", "file": "generated.js", "sourceRoot": "", "sourcesContent": [ "(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()", "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * The abstract constraint defines the api for all constraints. mainly the method isValid() is defined.\n *\n * derived classes must implement the method isValid().\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass AbstractConstraint extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n }\n\n /**\n * this method must return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.reject(value);\n }\n}\n\nMonster.assignToNamespace('Monster.Constraints', AbstractConstraint);\nexport {Monster, AbstractConstraint}", "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * Operators allow you to link constraints together. for example, you can check whether a value is an object or an array. each operator has two operands that are linked together.\n * \n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass AbstractOperator extends AbstractConstraint {\n\n /**\n *\n * @param {AbstractConstraint} operantA\n * @param {AbstractConstraint} operantB\n * @throws {TypeError} \"parameters must be from type AbstractConstraint\"\n */\n constructor(operantA, operantB) {\n super();\n\n if (!(operantA instanceof AbstractConstraint) || !(operantB instanceof AbstractConstraint)) {\n throw new TypeError(\"parameters must be from type AbstractConstraint\")\n }\n\n this.operantA = operantA;\n this.operantB = operantB;\n\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', AbstractOperator);\nexport {Monster, AbstractOperator}", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {AbstractOperator} from \"./abstractoperator.js\";\n\n/**\n * The AndOperator is used to link several contraints. The constraint is fulfilled if all constraints of the operators are fulfilled.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';\n * new Monster.Constraint.AndOperator();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';\n * new AndOperator();\n * </script>\n * ```\n * \n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\n * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';\n *\n * new AndOperator(\n * new Valid(), new Valid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * new AndOperator(\n * new Invalid(), new Valid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass AndOperator extends AbstractOperator {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.all([this.operantA.isValid(value), this.operantB.isValid(value)]);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', AndOperator);\nexport {Monster, AndOperator}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.\n *\n * You can call the method via the monster namespace `new Monster.Constraint.Invalid()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\n * new Monster.Constraint.Invalid();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\n * new Invalid();\n * </script>\n * ```\n *\n * @example\n *\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\n *\n * new Invalid().isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass Invalid extends AbstractConstraint {\n\n /**\n * this method return a rejected promise\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.reject(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', Invalid);\nexport {Monster, Invalid}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {isArray} from \"../types/is.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';\n * console.log(new Monster.Constraint.IsArray())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';\n * console.log(new IsArray())\n * </script>\n * ```\n * \n * @example\n *\n * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';\n *\n * new IsArray()\n * .isValid([])\n * .then(()=>console.log(true));\n * // ↦ true\n *\n * new IsArray()\n * .isValid(99)\n * .catch(e=>console.log(e));\n * // ↦ 99\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass IsArray extends AbstractConstraint {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n if (isArray(value)) {\n return Promise.resolve(value);\n }\n\n return Promise.reject(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', IsArray);\nexport {Monster, IsArray}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {isObject} from \"../types/is.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';\n * console.log(new Monster.Constraint.IsObject())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';\n * console.log(new IsObject())\n * </script>\n * ```\n * \n * @example\n *\n * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';\n *\n * new IsObject()\n * .isValid({})\n * .then(()=>console.log(true));\n * // ↦ true\n *\n *\n * new IsObject()\n * .isValid(99)\n * .catch(e=>console.log(e));\n * // ↦ 99\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass IsObject extends AbstractConstraint {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n if (isObject(value)) {\n return Promise.resolve(value);\n }\n\n return Promise.reject(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', IsObject);\nexport {Monster, IsObject}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractOperator} from \"./abstractoperator.js\";\n\n/**\n * The OrOperator is used to link several constraints. The constraint is fulfilled if one of the constraints is fulfilled.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';\n * new Monster.Constraint.OrOperator();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';\n * new OrOperator();\n * </script>\n * ```\n *\n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\n * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/oroperator.js';\n *\n * new OrOperator(\n * new Valid(), new Invalid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * new OrOperator(\n * new Invalid(), new Invalid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass OrOperator extends AbstractOperator {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n var self = this;\n\n return new Promise(function (resolve, reject) {\n let a, b;\n\n self.operantA.isValid(value)\n .then(function () {\n resolve();\n }).catch(function () {\n a = false;\n /** b has already been evaluated and was not true */\n if (b === false) {\n reject();\n }\n });\n\n self.operantB.isValid(value)\n .then(function () {\n resolve();\n }).catch(function () {\n b = false;\n /** b has already been evaluated and was not true */\n if (a === false) {\n reject();\n }\n });\n });\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', OrOperator);\nexport {Monster, OrOperator}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.\n *\n * You can call the method via the monster namespace `new Monster.Constraint.Valid()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\n * new Monster.Constraint.Valid();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\n * new Valid();\n * </script>\n * ```\n * \n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\n *\n * new Valid().isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass Valid extends AbstractConstraint {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.resolve(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', Valid);\nexport {Monster, Valid}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\n\nimport {Monster, isArray, isObject} from \"../types/is.js\";\n\n/**\n * With the diff function you can perform the change of one object to another. The result shows the changes of the second object to the first object.\n *\n * The operator `add` means that something has been added to the second object. `delete` means that something has been deleted from the second object compared to the first object.\n *\n * You can call the method via the monster namespace `Monster.Data.Diff()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';\n * console.log(Monster.Data.Diff(a, b))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';\n * console.log(Diff(a, b))\n * </script>\n * ```\n *\n * @example\n * \n * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';\n * \n * // given are two objects x and y.\n *\n * let x = {\n * a: 1,\n * b: \"Hello!\"\n * }\n *\n * let y = {\n * a: 2,\n * c: true\n * }\n *\n * // These two objects can be compared with each other.\n *\n * console.log(Diff(x, y));\n *\n * // the result is then the following\n *\n * //\n * // [\n * // {\n * // operator: 'update',\n * // path: [ 'a' ],\n * // first: { value: 1, type: 'number' },\n * // second: { value: 2, type: 'number' }\n * // },\n * // {\n * // operator: 'delete',\n * // path: [ 'b' ],\n * // first: { value: 'Hello!', type: 'string' }\n * // },\n * // {\n * // operator: 'add',\n * // path: [ 'c' ],\n * // second: { value: true, type: 'boolean' }\n * // }\n * // ]\n *\n * @param {*} first\n * @param {*} second\n * @return {array}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nfunction Diff(first, second) {\n return doDiff(first, second)\n}\n\n/**\n * @private\n * @param a\n * @param b\n * @param type\n * @return {Set<string>|Set<number>}\n */\nfunction getKeys(a, b, type) {\n if (isArray(type)) {\n const keys = a.length > b.length ? new Array(a.length) : new Array(b.length);\n keys.fill(0);\n return new Set(keys.map((_, i) => i));\n }\n\n return new Set(Object.keys(a).concat(Object.keys(b)));\n}\n\n/**\n * @private\n * @param a\n * @param b\n * @param path\n * @param diff\n * @return {array}\n */\nfunction doDiff(a, b, path, diff) {\n\n let typeA = typeof a\n let typeB = typeof b\n\n const currPath = path || [];\n const currDiff = diff || [];\n\n if (typeA === typeB && typeA === 'object') { // array is object too\n\n getKeys(a, b, typeA).forEach((v) => {\n\n if (!(Object.prototype.hasOwnProperty.call(a, v))) {\n currDiff.push(buildResult(a[v], b[v], 'add', currPath.concat(v)));\n } else if (!(Object.prototype.hasOwnProperty.call(b, v))) {\n currDiff.push(buildResult(a[v], b[v], 'delete', currPath.concat(v)));\n } else {\n doDiff(a[v], b[v], currPath.concat(v), currDiff);\n }\n });\n\n } else {\n\n const o = getOperator(a, b, typeA, typeB);\n if (o !== undefined) {\n currDiff.push(buildResult(a, b, o, path));\n }\n\n }\n\n return currDiff;\n\n}\n\n/**\n *\n * @param {*} a\n * @param {*} b\n * @param {string} operator\n * @param {array} path\n * @return {{path: array, operator: string}}\n * @private\n */\nfunction buildResult(a, b, operator, path) {\n\n const result = {\n operator,\n path,\n };\n\n if (operator !== 'add') {\n result.first = {\n value: a,\n type: typeof a\n };\n\n if (isObject(a)) {\n const name = Object.getPrototypeOf(a)?.constructor?.name;\n if (name !== undefined) {\n result.first.instance = name;\n }\n }\n }\n\n if (operator === 'add' || operator === 'update') {\n result.second = {\n value: b,\n type: typeof b\n };\n\n if (isObject(b)) {\n const name = Object.getPrototypeOf(b)?.constructor?.name;\n if (name !== undefined) {\n result.second.instance = name;\n }\n }\n\n }\n\n return result;\n}\n\n/**\n * @private\n * @param {*} a\n * @param {*} b\n * @return {boolean}\n */\nfunction isNotEqual(a, b) {\n\n if (typeof a !== typeof b) {\n return true;\n }\n\n if (a instanceof Date && b instanceof Date) {\n return a.getTime() !== b.getTime();\n }\n\n return a !== b;\n}\n\n/**\n * @private\n * @param {*} a\n * @param {*} b\n * @return {string|undefined}\n */\nfunction getOperator(a, b) {\n\n /**\n * @type {string|undefined}\n */\n let operator;\n\n /**\n * @type {string}\n */\n let typeA = typeof a;\n\n /**\n * @type {string}\n */\n let typeB = typeof b;\n\n if (typeA === 'undefined' && typeB !== 'undefined') {\n operator = 'add';\n } else if (typeA !== 'undefined' && typeB === 'undefined') {\n operator = 'delete';\n } else if (isNotEqual(a, b)) {\n operator = 'update';\n }\n\n return operator;\n\n}\n\nMonster.assignToNamespace('Monster.Data', Diff);\nexport {Monster, Diff}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {isObject, isArray, isInteger} from '../types/is.js';\nimport {validateString, validateInteger} from '../types/validate.js';\nimport {Base} from '../types/base.js';\nimport {Stack} from \"../types/stack.js\";\n\n/**\n * path separator\n *\n * @private\n * @type {string}\n */\nconst DELIMITER = '.';\n/**\n * @private\n * @type {string}\n */\nconst WILDCARD = '*';\n\n/**\n * You can call the method via the monster namespace `new Monster.Data.Pathfinder()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';\n * console.log(new Monster.Data.Pathfinder())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';\n * console.log(new Pathfinder())\n * </script>\n * ```\n *\n * With the help of the pathfinder, values can be read and written from an object construct.\n *\n * ```\n * new Pathfinder({\n * a: {\n * b: {\n * f: [\n * {\n * g: false,\n * }\n * ],\n * }\n * }\n * }).getVia(\"a.b.f.0.g\"); // ↦ false\n * ```\n *\n * if a value is not present or has the wrong type, a corresponding exception is thrown.\n *\n * ```\n * new Pathfinder({}).getVia(\"a.b.f.0.g\"); // ↦ Error\n * ```\n *\n * The `Pathfinder.exists()` method can be used to check whether access to the path is possible.\n *\n * ```\n * new Pathfinder({}).exists(\"a.b.f.0.g\"); // ↦ false\n * ```\n *\n * pathfinder can also be used to build object structures. to do this, the `Pathfinder.setVia()` method must be used.\n *\n * ```\n * obj = {};\n * new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}}\n * ```\n *\n * @example\n *\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';\n *\n * let value = new Pathfinder({\n * a: {\n * b: {\n * f: [\n * {\n * g: false,\n * }\n * ],\n * }\n * }\n * }).getVia(\"a.b.f.0.g\");\n *\n * console.log(value);\n * // ↦ false\n *\n * try {\n * new Pathfinder({}).getVia(\"a.b.f.0.g\"); \n * } catch(e) {\n * console.log(e.toString());\n * // ↦ Error: the journey is not at its end (b.f.0.g)\n * }\n *\n * @example\n *\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';\n *\n * let p = new Pathfinder({\n * a: {\n * x: [\n * {c: 1}, {c: 2}\n * ],\n * y: true\n * },\n * b: {\n * x: [\n * {c: 1, d: false}, {c: 2}\n * ],\n * y: true\n * },\n * });\n * \n * let r = p.getVia(\"*.x.*.c\");\n * console.log(r);\n * \n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Pathfinder extends Base {\n\n /**\n * @param {array|object|Map|Set} value\n * @since 1.4.0\n **/\n constructor(object) {\n super();\n this.object = object;\n this.wildCard = WILDCARD;\n }\n\n /**\n * set wildcard\n *\n * @param {string} wildcard\n * @return {Pathfinder}\n * @since 1.7.0\n */\n setWildCard(wildcard) {\n validateString(wildcard);\n this.wildCard = wildcard;\n return this;\n }\n\n /**\n *\n * @param {string} path\n * @since 1.4.0\n * @returns {*}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @throws {Error} unsupported action for this data type\n */\n getVia(path) {\n validateString(path);\n return getValueViaPath.call(this, this.object, path);\n }\n\n /**\n *\n * @param {string} path\n * @param {*} value\n * @returns {Pathfinder}\n * @since 1.4.0\n * @throws {TypeError} unsupported type\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @throws {Error} unsupported action for this data type\n */\n setVia(path, value) {\n validateString(path);\n setValueViaPath.call(this, this.object, path, value);\n return this;\n }\n\n /**\n * Delete Via Path\n *\n * @param {string} path\n * @returns {Pathfinder}\n * @since 1.6.0\n * @throws {TypeError} unsupported type\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @throws {Error} unsupported action for this data type\n */\n deleteVia(path) {\n validateString(path);\n deleteValueViaPath.call(this, this.object, path);\n return this;\n }\n\n /**\n *\n * @param {string} path\n * @return {bool}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @since 1.4.0\n */\n exists(path) {\n validateString(path);\n try {\n getValueViaPath.call(this, this.object, path, true);\n return true;\n } catch (e) {\n\n }\n\n return false;\n }\n\n}\n\nMonster.assignToNamespace('Monster.Data', Pathfinder);\nexport {Monster, Pathfinder}\n\n/**\n *\n * @param {*} subject\n * @param {string} path\n * @param {string} check\n * @return {Map}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction iterate(subject, path, check) {\n\n const result = new Map;\n\n if (isObject(subject) || isArray(subject)) {\n for (const [key, value] of Object.entries(subject)) {\n result.set(key, getValueViaPath.call(this, value, path, check))\n }\n } else {\n let key= path.split(DELIMITER).shift();\n result.set(key, getValueViaPath.call(this, subject, path, check));\n }\n\n return result;\n\n\n}\n\n/**\n *\n * @param {*} subject\n * @param [string} path\n * @param [boolean} check \n * @returns {*}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction getValueViaPath(subject, path, check) {\n\n if (path === \"\") {\n return subject;\n }\n\n let parts = path.split(DELIMITER)\n let current = parts.shift();\n\n if (current === this.wildCard) {\n return iterate.call(this, subject, parts.join(DELIMITER), check);\n }\n\n if (isObject(subject) || isArray(subject)) {\n\n let anchor;\n if (subject instanceof Map || subject instanceof WeakMap) {\n anchor = subject.get(current);\n\n } else if (subject instanceof Set || subject instanceof WeakSet) {\n current = parseInt(current);\n validateInteger(current)\n anchor = [...subject]?.[current];\n\n } else if (subject instanceof WeakRef) {\n throw Error('unsupported action for this data type');\n\n } else if (isArray(subject)) {\n current = parseInt(current);\n validateInteger(current)\n anchor = subject?.[current];\n } else {\n anchor = subject?.[current];\n }\n\n if (isObject(anchor) || isArray(anchor)) {\n return getValueViaPath.call(this, anchor, parts.join(DELIMITER), check)\n }\n\n if (parts.length > 0) {\n throw Error(\"the journey is not at its end (\" + parts.join(DELIMITER) + \")\");\n }\n\n if (check === true && !subject.hasOwnProperty(current)) {\n throw Error('unknown value');\n }\n\n return anchor;\n\n }\n\n throw TypeError(\"unsupported type \"+typeof subject)\n\n}\n\n/**\n *\n * @param object\n * @param path\n * @param value\n * @returns {void}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction setValueViaPath(object, path, value) {\n\n validateString(path);\n \n let parts = path.split(DELIMITER)\n let last = parts.pop();\n let subpath = parts.join(DELIMITER);\n\n let stack = new Stack()\n let current = subpath;\n while (true) {\n\n try {\n getValueViaPath.call(this, object, current, true)\n break;\n } catch (e) {\n\n }\n\n stack.push(current);\n parts.pop();\n current = parts.join(DELIMITER);\n\n if (current === \"\") break;\n }\n\n while (!stack.isEmpty()) {\n current = stack.pop();\n let obj = {};\n\n if (!stack.isEmpty()) {\n let n = stack.peek().split(DELIMITER).pop();\n if (isInteger(parseInt(n))) {\n obj = [];\n }\n\n }\n\n setValueViaPath.call(this, object, current, obj);\n }\n\n let anchor = getValueViaPath.call(this, object, subpath);\n\n if (!isObject(object) && !isArray(object)) {\n throw TypeError(\"unsupported type: \" + typeof object);\n }\n\n if (anchor instanceof Map || anchor instanceof WeakMap) {\n anchor.set(last, value);\n } else if (anchor instanceof Set || anchor instanceof WeakSet) {\n anchor.append(value)\n\n } else if (anchor instanceof WeakRef) {\n throw Error('unsupported action for this data type');\n\n } else if (isArray(anchor)) {\n last = parseInt(last);\n validateInteger(last)\n anchor[last] = value;\n } else {\n anchor[last] = value;\n }\n\n return;\n\n}\n\n/**\n *\n * @param object\n * @param path\n * @returns {void}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @since 1.6.0\n * @private\n */\nfunction deleteValueViaPath(object, path) {\n\n const parts = path.split(DELIMITER)\n let last = parts.pop();\n const subpath = parts.join(DELIMITER);\n\n const anchor = getValueViaPath.call(this, object, subpath);\n\n if (anchor instanceof Map) {\n anchor.delete(last);\n } else if (anchor instanceof Set || anchor instanceof WeakMap || anchor instanceof WeakSet || anchor instanceof WeakRef) {\n throw Error('unsupported action for this data type');\n\n } else if (isArray(anchor)) {\n last = parseInt(last);\n validateInteger(last)\n delete anchor[last];\n } else {\n delete anchor[last];\n }\n\n return;\n\n}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Transformer} from './transformer.js';\nimport {Base} from '../types/base.js';\nimport {validateString} from '../types/validate.js';\n\n\nconst DELIMITER = '|';\n\n/**\n * The pipe class makes it possible to combine several processing steps.\n *\n * You can call the method via the monster namespace `new Monster.Data.Pipe()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';\n * console.log(new Monster.Data.Pipe())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';\n * console.log(new Pipe())\n * </script>\n * ```\n *\n * A pipe consists of commands whose input and output are connected with the pipe symbol `|`.\n *\n * With the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command).\n * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.\n *\n * @example\n * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';\n * \n * let obj = {\n * a: {\n * b: {\n * c: {\n * d: \"world\"\n * }\n * }\n * }\n * }\n * \n * console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\\\ ').run(obj));\n * // ↦ Hello WORLD\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Pipe extends Base {\n\n /**\n *\n * @param {string} pipe a pipe consists of commands whose input and output are connected with the pipe symbol `|`.\n * @throws {TypeError} \n */\n constructor(pipe) {\n super();\n validateString(pipe);\n this.pipe = pipe.split(DELIMITER).map((v) => {\n return new Transformer(v);\n });\n\n }\n\n /**\n * run a pipe\n *\n * @param {*} value\n * @returns {*}\n */\n run(value) {\n return this.pipe.reduce((accumulator, currentValue, currentIndex, array) => {\n return currentValue.run(accumulator);\n }, value);\n }\n}\n\nMonster.assignToNamespace('Monster.Data', Pipe);\nexport {Monster, Pipe}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\nimport {validateString, validatePrimitive, validateFunction, validateInteger} from '../types/validate.js';\nimport {isObject, isString, isArray} from '../types/is.js';\nimport {ID} from '../types/id.js';\nimport {clone} from \"../util/clone.js\";\nimport {Pathfinder} from \"./pathfinder.js\";\n\n/**\n * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.\n *\n * You can call the method via the monster namespace `new Monster.Data.Transformer()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';\n * console.log(new Monster.Data.Transformer())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';\n * console.log(new Transformer())\n * </script>\n * ```\n *\n * A simple example is the conversion of all characters to lowercase. for this purpose the command tolower must be used.\n * \n * ```\n * let t = new Transformer('tolower').run('ABC'); // ↦ abc\n * ```\n * \n * **all commands**\n * \n * in the following table all commands, parameters and existing aliases are described.\n * \n * | command | parameter | alias | description |\n * |:-------------|:---------------------------|:------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n * | base64 | | | Converts the value to base64 |\n * | call | function,param1:param2:... | | Calling a callback function. The function can be defined in three places: either globally, in the context `addCallback` or in the passed object |\n * | empty | | | Return empty String \"\" |\n * | if | statement1:statement2 | ? | Is the ternary operator, the first parameter is the valid statement, the second is the false part. To use the current value in the queue, you can set the value keyword. On the other hand, if you want to have the static string \"value\", you have to put one backslash \\\\ in front of it and write value. the follow values are true: 'on', true, 'true' |\n * | index | key:default | property, key | Fetches a value from an object, an array, a map or a set |\n * | length | | count | Length of the string or entries of an array or object |\n * | nop | | | Do nothing |\n * | path | path | | The access to an object is done via a Pathfinder object |\n * | plaintext | | plain | All HTML tags are removed (*) |\n * | prefix | text | | Adds a prefix |\n * | rawurlencode | | | URL coding |\n * | static | | none | The Arguments value is used and passed to the value. Special characters \\ <space> and : can be quotet by a preceding \\. |\n * | substring | start:length | | Returns a substring |\n * | suffix | text | | Adds a suffix |\n * | tointeger | | | Type conversion to an integer value |\n * | tolower | | strtolower, tolowercase | The input value is converted to lowercase letters |\n * | tostring | | | Type conversion to a string |\n * | toupper | | strtoupper, touppercase | The input value is converted to uppercase letters |\n * | trim | | | Remove spaces at the beginning and end |\n * | ucfirst | | | First character large |\n * | ucwords | | | Any word beginning large |\n * | undefined | | | Return undefined |\n * | uniqid | | | Creates a string with a unique value (**) |\n * \n * (*) for this functionality the extension [jsdom](https://www.npmjs.com/package/jsdom) must be loaded in the nodejs context.\n * \n * ```\n * // polyfill\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n * \n * [\n * 'self',\n * 'document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (global[key] = window[key]));\n * }\n * ```\n * \n * (**) for this command the crypt library is necessary in the nodejs context.\n * \n * ```\n * import * as Crypto from \"@peculiar/webcrypto\";\n * global['crypto'] = new Crypto.Crypto();\n * ```\n * \n * @example\n * \n * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';\n * \n * const transformer = new Transformer(\"tolower\")\n * \n * console.log(transformer.run(\"HELLO\"))\n * // ↦ hello\n * \n * console.log(transformer.run(\"WORLD\"))\n * // ↦ world\n * \n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Transformer extends Base {\n /**\n *\n * @param {string} definition\n */\n constructor(definition) {\n super();\n validateString(definition);\n\n this.args = disassemble(definition);\n this.command = this.args.shift()\n this.callbacks = new Map();\n\n }\n\n /**\n *\n * @param {string} name\n * @param {function} callback\n * @returns {Transformer}\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not a function\n */\n setCallback(name, callback) {\n validateString(name)\n validateFunction(callback)\n this.callbacks.set(name, callback);\n return this;\n }\n\n /**\n *\n * @param {*} value\n * @returns {*}\n * @throws {Error} unknown command\n * @throws {TypeError} unsupported type\n * @throws {Error} type not supported\n */\n run(value) {\n return transform.apply(this, [value])\n }\n}\n\nMonster.assignToNamespace('Monster.Data', Transformer);\nexport {Monster, Transformer}\n\n/**\n *\n * @param {string} command\n * @returns {array}\n * @private\n */\nfunction disassemble(command) {\n\n validateString(command);\n \n let placeholder = new Map;\n const regex = /((?<pattern>\\\\(?<char>.)){1})/mig;\n\n // The separator for args must be quotable\n // undefined string which should not occur normally and is also not a regex\n let result = command.matchAll(regex)\n \n for (let m of result) {\n let g=m?.['groups'];\n if(!isObject(g)) {\n continue;\n }\n \n let p=g?.['pattern'];\n let c=g?.['char'];\n \n if(p&&c) {\n let r='__'+new ID().toString()+'__';\n placeholder.set(r, c);\n command=command.replace(p,r);\n }\n \n }\n let parts = command.split(':');\n\n parts = parts.map(function (value) {\n let v = value.trim();\n for(let k of placeholder) {\n v= v.replace(k[0], k[1]);\n }\n return v;\n \n \n });\n\n return parts\n}\n\n/**\n * tries to make a string out of value and if this succeeds to return it back\n * \n * @param {*} value\n * @returns {string}\n * @private\n */\nfunction convertToString(value) {\n\n if (isObject(value) && value.hasOwnProperty('toString')) {\n value = value.toString();\n }\n\n validateString(value)\n return value;\n}\n\n/**\n *\n * @param {*} value\n * @returns {*}\n * @private\n * @throws {Error} unknown command\n * @throws {TypeError} unsupported type\n * @throws {Error} type not supported\n */\nfunction transform(value) {\n\n let args = clone(this.args);\n let key\n\n switch (this.command) {\n\n case 'static':\n return this.args.join(':');\n\n case 'tolower':\n case 'strtolower':\n case 'tolowercase':\n validateString(value)\n return value.toLowerCase();\n\n case 'toupper':\n case 'strtoupper':\n case 'touppercase':\n validateString(value)\n return value.toUpperCase();\n\n case 'tostring':\n return \"\" + value;\n\n case 'tointeger':\n let n = parseInt(value);\n validateInteger(n);\n return n\n\n case 'trim':\n validateString(value)\n return value.trim();\n\n case 'rawurlencode':\n validateString(value)\n return encodeURIComponent(value)\n .replace(/!/g, '%21')\n .replace(/'/g, '%27')\n .replace(/\\(/g, '%28')\n .replace(/\\)/g, '%29')\n .replace(/\\*/g, '%2A');\n\n\n case 'call':\n\n /**\n * callback-definition\n * function callback(value, ...args) {\n * return value;\n * }\n */\n\n let callback;\n let callbackName = args.shift();\n\n if (isObject(value) && calue.hasOwnProperty(callbackName)) {\n callback = value[callbackName];\n } else if (this.callbacks.has(callbackName)) {\n callback = this.callbacks.get(callbackName);\n } else if (typeof window === 'object' && window.hasOwnProperty(callbackName)) {\n callback = window[callbackName];\n }\n validateFunction(callback);\n\n args.unshift(value);\n return callback(...args);\n\n case 'plain':\n case 'plaintext':\n validateString(value);\n let doc = new DOMParser().parseFromString(value, 'text/html');\n return doc.body.textContent || \"\";\n\n case 'if':\n case '?':\n\n validatePrimitive(value);\n\n let trueStatement = (args.shift() || undefined);\n let falseStatement = (args.shift() || undefined);\n\n if (trueStatement === 'value') {\n trueStatement = value;\n }\n if (trueStatement === '\\\\value') {\n trueStatement = 'value';\n }\n if (falseStatement === 'value') {\n falseStatement = value;\n }\n if (falseStatement === '\\\\value') {\n falseStatement = 'value';\n }\n\n let condition = ((value !== undefined && value !== '' && value !== 'off' && value !== 'false' && value !== false) || value === 'on' || value === 'true' || value === true);\n return condition ? trueStatement : falseStatement;\n\n\n case 'ucfirst':\n validateString(value);\n\n let firstchar = value.charAt(0).toUpperCase();\n return firstchar + value.substr(1);\n case 'ucwords':\n validateString(value);\n\n return value.replace(/^([a-z\\u00E0-\\u00FC])|\\s+([a-z\\u00E0-\\u00FC])/g, function (v) {\n return v.toUpperCase();\n });\n\n case 'count':\n case 'length':\n\n if ((isString(value) || isObject(value) || isArray(value)) && value.hasOwnProperty('length')) {\n return value.length;\n }\n\n throw new TypeError(\"unsupported type\");\n\n case 'base64':\n convertToString(value);\n return btoa(value);\n\n case 'empty':\n return '';\n\n case 'undefined':\n return undefined;\n\n case 'prefix':\n validateString(value);\n let prefix = args?.[0];\n return prefix + value;\n\n case 'suffix':\n validateString(value);\n let suffix = args?.[0];\n return value + suffix;\n\n case 'uniqid':\n return (new ID()).toString();\n\n case 'key':\n case 'property':\n case 'index':\n\n key = (args.shift() || 'undefined');\n let defaultValue = (args.shift() || '');\n\n if (value instanceof Map) {\n if(!value.has(key)) {\n return defaultValue;\n }\n return value.get(key);\n }\n\n if (isObject(value)||isArray(value)) {\n\n if (value?.[key]) {\n return value?.[key];\n }\n\n return defaultValue;\n }\n\n throw new Error(\"type not supported\")\n\n case 'path':\n\n key = (args.shift() || 'undefined');\n return new Pathfinder(value).getVia(key);\n \n \n case 'substring':\n\n validateString(value);\n \n let start = parseInt(args[0]) || 0;\n let end = (parseInt(args[1]) || 0) + start;\n\n return value.substring(start, end);\n \n case 'nop':\n return value;\n\n default:\n throw new Error(\"unknown command \"+this.command)\n }\n\n return value;\n}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateInstance, validateString} from \"../types/validate.js\";\nimport {getGlobalFunction} from \"../types/global.js\";\nimport {ProxyObserver} from \"../types/proxyobserver.js\";\n\n\n/**\n * attribute prefix\n * \n * @type {string}\n * @memberOf Monster/DOM\n */\nconst ATTRIBUTEPREFIX = \"data-monster-\";\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Assembler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';\n * console.log(new Monster.DOM.Assembler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';\n * console.log(new Assembler())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Assembler extends Base {\n\n /**\n * @param {DocumentFragment} fragment\n * @throws {TypeError} value is not an instance of\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n */\n constructor(fragment) {\n super();\n this.attributePrefix = ATTRIBUTEPREFIX;\n validateInstance(fragment, getGlobalFunction('DocumentFragment'));\n this.fragment = fragment;\n }\n\n /**\n *\n * @param {string} prefix\n * @returns {Assembler}\n * @throws {TypeError} value is not a string\n */\n setAttributePrefix(prefix) {\n validateString(prefix);\n this.attributePrefix = prefix;\n return this;\n }\n\n /**\n *\n * @returns {string}\n */\n getAttributePrefix() {\n return this.attributePrefix;\n }\n\n /**\n *\n * @param {ProxyObserver|undefined} data\n * @return {DocumentFragment}\n * @throws {TypeError} value is not an instance of\n */\n createDocumentFragment(data) {\n\n if (data === undefined) {\n data = new ProxyObserver({});\n }\n\n validateInstance(data, ProxyObserver);\n let fragment = this.fragment.cloneNode(true);\n return fragment;\n }\n\n}\n\nMonster.assignToNamespace('Monster.DOM', Assembler);\nexport {Monster, ATTRIBUTEPREFIX, Assembler}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {getGlobalObject} from \"../types/global.js\";\nimport {Monster, validateFunction} from \"../types/validate.js\";\n\n\n/**\n * To define a new HTML element we need the power of CustomElement\n *\n * you can call the method via the monster namespace `new Monster.DOM.Element()`.\n *\n * important: after defining a `CustomElement`, the `registerCustomElement` method must be called\n * with the new class name. only then will the tag defined via the `getTag` method be made known to the DOM.\n *\n * ```\n * <script type=\"module\">\n * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js';\n * console.log(new Monster.DOM.CustomElement())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js';\n * console.log(new CustomElement())\n * </script>\n * ```\n *\n * ## Styling\n *\n * For optimal display of custom-elements the pseudo-class :defined can be used.\n *\n * ```html\n * <style>\n *\n * my-custom-element:not(:defined) {\n * display: none;\n * }\n *\n * my-custom-element:defined {\n * display: flex;\n * }\n *\n * </style>\n * ```\n *\n * @example\n *\n * class MonsterMyElement extends CustomElement {\n * constructor() {\n * super();\n *\n * this.template = `<div class=\"form-check\">\n * <label class=\"form-check-label\">\n * <input class=\"form-check-input\" type=\"checkbox\" value=\"\">\n * Checkvalue\n * </label>\n * </div>`\n *\n * this.attachShadow({mode: 'open'});\n * this.shadowRoot.innerHTML = this.template;\n * }\n *\n * static getTag() {\n * return \"monster-my-element\"\n * }\n *\n *}\n *\n * // ↦ <monster-my-element></monster-my-element>\n *\n * @see https://github.com/WICG/webcomponents\n * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass CustomElement extends HTMLElement {\n\n /**\n *\n */\n constructor() {\n super();\n }\n\n /**\n * Called every time the element is inserted into the DOM. Useful for running setup code, such as\n * fetching resources or rendering. Generally, you should try to delay work until this time.\n *\n * @return {void}\n */\n connectedCallback() {\n\n }\n\n /**\n * Called every time the element is removed from the DOM. Useful for running clean up code.\n *\n * @return {void}\n */\n disconnectedCallback() {\n\n }\n\n /**\n * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).\n *\n * @return {void}\n */\n adoptedCallback() {\n\n }\n\n /**\n * Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial\n * values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback.\n *\n * @param {string} attrName\n * @param {string} oldVal\n * @param {string} newVal\n * @return {void}\n */\n attributeChangedCallback(attrName, oldVal, newVal) {\n\n }\n\n /**\n * there is no check on the name by this class. the developer is responsible for assigning an appropriate tag.\n * if the name is not valid, registerCustomElement() will issue an erro\n *\n * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * @return {string}\n * @throws {Error} the method getTag must be overwritten by the derived class.\n */\n static getTag() {\n throw new Error(\"the method getTag must be overwritten by the derived class.\");\n }\n\n\n}\n\n/**\n * This method registers a new element. The string returned by `CustomElement.getTag()` is used as the tag.\n *\n * @param {CustomElement} element\n * @return {void}\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {DOMException} Failed to execute 'define' on 'CustomElementRegistry': is not a valid custom element name\n */\nfunction registerCustomElement(element) {\n validateFunction(element);\n\n let tag = element.getTag();\n\n getGlobalObject('customElements').define(element.getTag(), element);\n return;\n}\n\nMonster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement);\nexport {Monster, registerCustomElement, CustomElement}", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {Stack} from \"../types/stack.js\";\nimport {validateInstance} from \"../types/validate.js\";\nimport {ProxyObserver} from \"../types/proxyobserver.js\";\nimport {Observer} from \"../types/observer.js\";\nimport {getGlobalFunction, getGlobalObject} from \"../types/global.js\";\nimport {isInstance} from \"../types/is.js\";\nimport {ATTRIBUTEPREFIX} from \"./assembler.js\"\nimport {ID} from \"../types/id.js\";\n\n/**\n * @private\n * @type {Symbol}\n */\nconst MONSTERDOMHANDLE = Symbol('MonsterHandle');\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Handle()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';\n * console.log(new Monster.DOM.Handle())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';\n * console.log(new Handle())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster.DOM\n */\nclass Handle extends Base {\n /**\n *\n * @param {ProxyObserver} data\n */\n constructor(data) {\n super();\n\n let self = this;\n\n self.id = new ID();\n\n validateInstance(data, ProxyObserver);\n\n this.data = data\n\n this.mutationObserver = createMutationObserver.call(this);\n this.dataObserver = createDataObserver.call(this);\n this.data.attachObserver(this.dataObserver);\n\n this.nodes = new WeakSet\n this.updates = new Stack();\n\n }\n\n /**\n * @return {void}\n */\n update() {\n return;\n }\n\n /**\n *\n * @param {HTMLElement|Document} node\n * @return {Handle}\n */\n remove(node) {\n\n if (isInstance(node, getGlobalFunction('Document'))) {\n node = node.firstElementChild\n }\n\n validateInstance(node, getGlobalFunction('HTMLElement'))\n\n if (!this.nodes.has(node)) {\n return this;\n }\n\n this.mutationObserver.disconnect(node);\n\n delete node.dataset[MONSTERDOMHANDLE]\n node.removeAttribute(ATTRIBUTEPREFIX + \"handler\");\n\n return this;\n\n }\n\n /**\n *\n * @param {HTMLElement|Document} node\n * @return {Handle}\n */\n append(node) {\n\n if (isInstance(node, getGlobalFunction('Document'))) {\n node = node.firstElementChild\n }\n\n validateInstance(node, getGlobalFunction('HTMLElement'))\n\n if (this.nodes.has(node)) {\n return this;\n }\n\n node.dataset[MONSTERDOMHANDLE] = this;\n node.setAttribute(ATTRIBUTEPREFIX + \"handler\", true);\n\n this.mutationObserver.observe(node, {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n characterDataOldValue: true,\n attributeOldValue: true\n });\n\n this.nodes.add(node);\n\n return this;\n\n }\n}\n\n/**\n *\n * @private\n * @return {Observer}\n */\nfunction createDataObserver() {\n const self = this;\n\n return new Observer(() => {\n self.update();\n });\n}\n\n/**\n *\n * @private\n * @return {MutationObserver}\n */\nfunction createMutationObserver() {\n\n const self = this;\n\n /**\n * @private\n * @type {MutationObserver}\n */\n const MutationObserver = getGlobalFunction('MutationObserver');\n\n // @link https://developer.mozilla.org/en/docs/Web/API/MutationObserver\n return new MutationObserver((mutationsList, observer) => {\n\n for (const mutation of mutationsList) {\n self.updates.push(mutation);\n }\n\n self.update();\n }\n )\n\n}\n\n/**\n * get the handle of a node\n *\n * if a node is specified without a handler, a recursive search upwards is performed until the corresponding\n * handle is found, or undefined is returned.\n *\n * you can call the method via the monster namespace `Monster.DOM.getHandleFromNode()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';\n * console.log(Monster.DOM.getHandleFromNode())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';\n * console.log(getHandleFromNode())\n * </script>\n * ```\n *\n * @param {Node} node\n * @return {Handle|undefined}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {TypeError} value is not an instance of Node\n */\nfunction getHandleFromNode(node) {\n validateInstance(node, getGlobalFunction('Node'));\n\n let handle = node.dataset?.[MONSTERDOMHANDLE];\n if (handle === undefined) {\n let parentNode = node?.['parentNode'];\n if (isInstance(parentNode, getGlobalFunction('Node'))) {\n return getHandleFromNode(parentNode)\n }\n }\n\n return handle;\n}\n\nMonster.assignToNamespace('Monster.DOM', getHandleFromNode, Handle);\nexport {Monster, getHandleFromNode, Handle}\n\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateString} from \"../types/validate.js\";\nimport {getGlobalFunction, getGlobalObject} from '../types/global.js';\nimport {validateInstance} from \"../types/validate.js\";\nimport {getDocumentTheme} from \"./theme.js\";\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Template()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';\n * console.log(new Monster.DOM.Template())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';\n * console.log(new Template())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Template extends Base {\n /**\n *\n * @param {HTMLTemplateElement} template\n * @throws {TypeError} value is not an instance of\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n */\n constructor(template) {\n super();\n const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');\n validateInstance(template, HTMLTemplateElement);\n this.template = template;\n }\n\n /**\n *\n * @returns {HTMLTemplateElement}\n */\n getTemplateElement() {\n return this.template;\n }\n\n /**\n *\n * @return {DocumentFragment}\n * @throws {TypeError} value is not an instance of\n */\n createDocumentFragment() {\n return this.template.content.cloneNode(true);\n }\n\n}\n\n/**\n *\n *\n * you can call the method via the monster namespace `Monster.DOM.findDocumentTemplate()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';\n * console.log(Monster.DOM.findDocumentTemplate())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';\n * console.log(findDocumentTemplate())\n * </script>\n * ```\n *\n * @param {string} id\n * @return {Template}\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} template id not found.\n * @throws {TypeError} value is not a string\n */\nfunction findDocumentTemplate(id) {\n validateString(id);\n const document = getGlobalObject('document');\n const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');\n\n let theme = getDocumentTheme()\n let themedID = id + '-' + theme.getName();\n\n let template = document.getElementById(themedID);\n if (template instanceof HTMLTemplateElement) {\n return new Template(template);\n }\n\n template = document.getElementById(id);\n if (template instanceof HTMLTemplateElement) {\n return new Template(template);\n }\n\n throw new Error(\"template \" + id + \" not found.\")\n}\n\n\nMonster.assignToNamespace('Monster.DOM', Template, findDocumentTemplate);\nexport {Monster, Template, findDocumentTemplate}\n\n\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateString} from \"../types/validate.js\";\nimport {getGlobalObject} from '../types/global.js';\n\n/**\n * default theme\n * @type {string}\n */\nconst DEFAULT_THEME = 'monster';\n\n/**\n * @private\n * @type {string}\n */\nconst THEME_ATTRIBUTE_NAME = 'data-monster-theme-name';\n\n/**\n * You can call the method via the monster namespace `new Monster.DOM.Theme()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';\n * console.log(new Monster.DOM.Theme())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';\n * console.log(new Theme())\n * </script>\n * ```\n * \n * @example\n *\n * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';\n *\n * const theme = getDocumentTheme();\n * console.log(theme.getName());\n * // ↦ monster\n *\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Theme extends Base {\n\n /**\n *\n * @param name\n * @throws {TypeError} value is not a string\n */\n constructor(name) {\n super();\n validateString(name);\n this.name = name;\n }\n\n /**\n *\n * @returns {string}\n */\n getName() {\n return this.name;\n }\n\n}\n\n/**\n * The theming used in the document can be defined via the html-tag.\n * The theming is specified via the attribute `data-monster-theme-name`.\n *\n * As name for a theme all characters are valid, which are also allowed for a HTMLElement-ID.\n *\n * ```\n * <html data-monster-theme-name=\"my-theme\">\n * ```\n *\n * the default theme name is `monster`.\n *\n * @return {Theme}\n * @since 1.7.0\n */\nfunction getDocumentTheme() {\n let document = getGlobalObject('document');\n let name = DEFAULT_THEME;\n\n let element = document.querySelector('html');\n if (element instanceof HTMLElement) {\n let theme = element.getAttribute(THEME_ATTRIBUTE_NAME);\n if (theme) {\n name = theme;\n }\n }\n\n return new Theme(name);\n\n}\n\nMonster.assignToNamespace('Monster.DOM', Theme, getDocumentTheme);\nexport {Monster, Theme, getDocumentTheme}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, getGlobal} from \"../types/global.js\";\nimport {validateString} from \"../types/validate.js\";\n\n\n/**\n * this method fetches the document object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getDocument())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';\n * console.log(getDocument())\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n *\n * [\n * 'self',\n * 'document',\n * 'Document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {object}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n */\nfunction getDocument() {\n let document = getGlobal()?.['document'];\n if (typeof document !== 'object') {\n throw new Error(\"not supported environment\")\n }\n\n return document;\n}\n\n/**\n * this method fetches the window object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getWindow())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';\n * console.log(getWindow(null))\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n *\n * getGlobal()['window']=window;\n * \n * [\n * 'self',\n * 'document',\n * 'Document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {object}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n */\nfunction getWindow() {\n let window = getGlobal()?.['window'];\n if (typeof window !== 'object') {\n throw new Error(\"not supported environment\")\n }\n\n return window;\n}\n\n\n/**\n *\n *\n * this method fetches the document object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getDocumentFragmentFromString())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';\n * console.log(getDocumentFragmentFromString('<div></div>'))\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n *\n * [\n * 'self',\n * 'document',\n * 'Document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {DocumentFragment}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n * @throws {TypeError} value is not a string\n */\nfunction getDocumentFragmentFromString(html) {\n validateString(html);\n\n const document = getDocument();\n const template = document.createElement('template');\n template.innerHTML = html;\n \n return template.content;\n}\n\n\nMonster.assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString);\nexport {Monster, getWindow, getDocument, getDocumentFragmentFromString}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\nimport {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from \"./logger.js\";\nimport {LogEntry} from \"./logentry.js\";\nimport {validateInstance, validateInteger} from \"../types/validate.js\";\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Handler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';\n * console.log(new Monster.Logging.Handler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';\n * console.log(new Handler())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass Handler extends Base {\n constructor() {\n super();\n\n /**\n * Loglevel\n * \n * @type {integer} \n */\n this.loglevel = OFF;\n }\n\n /**\n * this is the central log function. this method must be\n * overwritten by derived handlers with their own logic.\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {LogEntry} entry\n * @returns {boolean}\n */\n log(entry) {\n validateInstance(entry, LogEntry);\n\n if (this.loglevel < entry.getLogLevel()) {\n return false;\n }\n\n return true;\n }\n\n /**\n * set loglevel\n *\n * @param {integer} loglevel\n * @returns {Handler}\n * @since 1.5.0\n */\n setLogLevel(loglevel) {\n validateInteger(loglevel)\n this.loglevel = loglevel;\n return this;\n }\n\n /**\n * get loglevel\n *\n * @returns {integer}\n * @since 1.5.0\n */\n getLogLevel() {\n return this.loglevel;\n }\n\n /**\n * Set log level to All\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setAll() {\n this.setLogLevel(ALL);\n return this;\n };\n\n /**\n * Set log level to Trace\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setTrace() {\n this.setLogLevel(TRACE);\n return this;\n };\n\n /**\n * Set log level to Debug\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setDebug() {\n this.setLogLevel(DEBUG);\n return this;\n };\n\n /**\n * Set log level to Info\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setInfo() {\n this.setLogLevel(INFO);\n return this;\n };\n\n /**\n * Set log level to Warn\n *\n * @returns {undefined}\n * @since 1.5.0\n */\n setWarn() {\n this.setLogLevel(WARN);\n return this;\n };\n\n /**\n * Set log level to Error\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setError() {\n this.setLogLevel(ERROR);\n return this;\n };\n\n /**\n * Set log level to Fatal\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setFatal() {\n this.setLogLevel(FATAL);\n return this;\n };\n\n\n /**\n * Set log level to Off\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setOff() {\n this.setLogLevel(OFF);\n return this;\n };\n\n\n}\n\n\nMonster.assignToNamespace('Monster.Logging', Handler);\nexport {Monster, Handler};\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../../namespace.js';\nimport {Base} from '../../types/base.js';\nimport {Handler} from '../../logging/handler.js';\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Handler.ConsoleHandler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js';\n * console.log(new Monster.Logging.Handler.ConsoleHandler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js';\n * console.log(new ConsoleHandler())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging/Handler\n */\nclass ConsoleHandler extends Base {\n constructor() {\n super();\n }\n}\n\n\nMonster.assignToNamespace('Monster.Logging', ConsoleHandler);\nexport {Monster, Handler};\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateInteger} from '../types/validate.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.LogEntry()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';\n * console.log(new Monster.Logging.LogEntry())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';\n * console.log(new LogEntry())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass LogEntry extends Base {\n /**\n *\n * @param {int} loglevel\n * @param {*} args\n */\n constructor(loglevel, ...args) {\n super();\n validateInteger(loglevel);\n\n this.loglevel = loglevel\n this.arguments = args\n }\n\n /**\n *\n * @returns {integerr}\n */\n getLogLevel() {\n return this.loglevel\n }\n\n /**\n *\n * @returns {array}\n */\n getArguments() {\n return this.arguments\n }\n\n}\n\nMonster.assignToNamespace('Monster.Logging', LogEntry);\nexport {Monster, LogEntry}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateInteger, validateObject, validateString} from '../types/validate.js';\nimport {Handler} from '../logging/handler.js';\nimport {LogEntry} from '../logging/logentry.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst ALL = 255;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst TRACE = 64;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst DEBUG = 32;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst INFO = 16;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst WARN = 8;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst ERROR = 4;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst FATAL = 2;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst OFF = 0;\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Logger()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';\n * console.log(new Monster.Logging.Logger())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';\n * console.log(new Logger())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass Logger extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n this.handler = new Set;\n }\n\n /**\n *\n * @param {Handler} handler\n * @returns {Logger}\n * @throws {Error} the handler must be an instance of Handler\n */\n addHandler(handler) {\n validateObject(handler)\n if (!(handler instanceof Handler)) {\n throw new Error(\"the handler must be an instance of Handler\")\n }\n\n this.handler.add(handler)\n return this;\n }\n\n /**\n *\n * @param {Handler} handler\n * @returns {Logger}\n * @throws {Error} the handler must be an instance of Handler\n */\n removeHandler(handler) {\n validateObject(handler)\n if (!(handler instanceof Handler)) {\n throw new Error(\"the handler must be an instance of Handler\")\n }\n\n this.handler.delete(handler);\n return this;\n }\n\n /**\n * log Trace message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logTrace() {\n triggerLog.apply(this, [TRACE, ...arguments]);\n return this;\n };\n\n /**\n * log Debug message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logDebug() {\n triggerLog.apply(this, [DEBUG, ...arguments]);\n return this;\n };\n\n /**\n * log Info message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logInfo() {\n triggerLog.apply(this, [INFO, ...arguments]);\n return this;\n };\n\n /**\n * log Warn message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logWarn() {\n triggerLog.apply(this, [WARN, ...arguments]);\n return this;\n };\n\n /**\n * log Error message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logError() {\n triggerLog.apply(this, [ERROR, ...arguments]);\n return this;\n };\n\n /**\n * log Fatal message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logFatal() {\n triggerLog.apply(this, [FATAL, ...arguments]);\n return this;\n };\n\n\n /**\n * Labels\n *\n * @param {integer} level\n * @returns {string}\n */\n getLabel(level) {\n validateInteger(level);\n\n if (level === ALL) return 'ALL';\n if (level === TRACE) return 'TRACE';\n if (level === DEBUG) return 'DEBUG';\n if (level === INFO) return 'INFO';\n if (level === WARN) return 'WARN';\n if (level === ERROR) return 'ERROR';\n if (level === FATAL) return 'FATAL';\n if (level === OFF) return 'OFF';\n\n return 'unknown';\n };\n\n /**\n * Level\n *\n * @param {string} label\n * @returns {integer}\n */\n getLevel(label) {\n validateString(label);\n\n if (label === 'ALL') return ALL;\n if (label === 'TRACE') return TRACE;\n if (label === 'DEBUG') return DEBUG;\n if (label === 'INFO') return INFO;\n if (label === 'WARN') return WARN;\n if (label === 'ERROR') return ERROR;\n if (label === 'FATAL') return FATAL;\n if (label === 'OFF') return OFF;\n\n return 0;\n };\n\n\n}\n\nMonster.assignToNamespace('Monster.Logging', Logger);\nexport {Monster, Logger, ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF};\n\n\n/**\n * Log triggern\n *\n * @param {integer} loglevel\n * @param {*} args\n * @returns {Logger}\n * @private\n */\nfunction triggerLog(loglevel, ...args) {\n var logger = this;\n\n for (let handler of logger.handler) {\n handler.log(new LogEntry(loglevel, args))\n }\n\n return logger;\n\n}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\n\nimport {Monster, getGlobal} from '../types/global.js';\n\n\n/**\n * this function uses crypt and returns a random number.\n *\n * you can call the method via the monster namespace `Monster.Math.random()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';\n * console.log(Monster.Math.random(1,10)) // ↦ 5\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';\n * console.log(random(1,10)) // ↦ 5\n * </script>\n * ```\n *\n * @param {number} min starting value of the definition set (default is 0)\n * @param {number} max end value of the definition set (default is 1000000000)\n * @returns {number}\n * @memberOf Monster/Math\n\n * @since 1.0.0\n * @copyright schukai GmbH\n */\nfunction random(min, max) {\n\n if (min === undefined) {\n min = 0;\n }\n if (max === undefined) {\n max = MAX;\n }\n\n if (max < min) {\n throw new Error(\"max must be greater than min\");\n }\n\n return Math.round(create(min, max));\n\n}\n\n/**\n * @private\n * @type {number}\n */\nvar MAX = 1000000000;\n\n\nMath.log2 = Math.log2 || function (n) {\n return Math.log(n) / Math.log(2);\n};\n\n/**\n *\n * @param min\n * @param max\n * @returns {*}\n * @private\n */\nfunction create(min, max) {\n let crypt;\n let globalReference = getGlobal();\n\n crypt = globalReference?.['crypto'] || globalReference?.['msCrypto'] || globalReference?.['crypto'] || undefined;\n\n if (typeof crypt === \"undefined\") {\n throw new Error(\"missing crypt\")\n }\n\n let rval = 0;\n const range = max - min;\n if (range < 2) {\n return min;\n }\n\n const bitsNeeded = Math.ceil(Math.log2(range));\n if (bitsNeeded > 53) {\n throw new Error(\"we cannot generate numbers larger than 53 bits.\");\n }\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\n const mask = Math.pow(2, bitsNeeded) - 1;\n\n const byteArray = new Uint8Array(bytesNeeded);\n crypt.getRandomValues(byteArray);\n\n let p = (bytesNeeded - 1) * 8;\n for (var i = 0; i < bytesNeeded; i++) {\n rval += byteArray[i] * Math.pow(2, p);\n p -= 8;\n }\n\n rval = rval & mask;\n\n if (rval >= range) {\n return create(min, max);\n }\n\n return min + rval;\n\n}\n\nMonster.assignToNamespace('Monster.Math', random);\nexport {Monster, random}\n\n\n\n\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {AbstractOperator} from \"./abstractoperator.js\";\n\n/**\n * The AndOperator is used to link several contraints. The constraint is fulfilled if all constraints of the operators are fulfilled.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';\n * new Monster.Constraint.AndOperator();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';\n * new AndOperator();\n * </script>\n * ```\n * \n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';\n *\n * new AndOperator(\n * new Valid(), new Valid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * new AndOperator(\n * new Invalid(), new Valid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass AndOperator extends AbstractOperator {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.all([this.operantA.isValid(value), this.operantB.isValid(value)]);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', AndOperator);\nexport {Monster, AndOperator}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.\n *\n * You can call the method via the monster namespace `new Monster.Constraint.Invalid()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n * new Monster.Constraint.Invalid();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n * new Invalid();\n * </script>\n * ```\n *\n * @example\n *\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n *\n * new Invalid().isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass Invalid extends AbstractConstraint {\n\n /**\n * this method return a rejected promise\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.reject(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', Invalid);\nexport {Monster, Invalid}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {isArray} from \"../types/is.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';\n * console.log(new Monster.Constraint.IsArray())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';\n * console.log(new IsArray())\n * </script>\n * ```\n * \n * @example\n *\n * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';\n *\n * new IsArray()\n * .isValid([])\n * .then(()=>console.log(true));\n * // ↦ true\n *\n * new IsArray()\n * .isValid(99)\n * .catch(e=>console.log(e));\n * // ↦ 99\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass IsArray extends AbstractConstraint {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n if (isArray(value)) {\n return Promise.resolve(value);\n }\n\n return Promise.reject(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', IsArray);\nexport {Monster, IsArray}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {isObject} from \"../types/is.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';\n * console.log(new Monster.Constraint.IsObject())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';\n * console.log(new IsObject())\n * </script>\n * ```\n * \n * @example\n *\n * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';\n *\n * new IsObject()\n * .isValid({})\n * .then(()=>console.log(true));\n * // ↦ true\n *\n *\n * new IsObject()\n * .isValid(99)\n * .catch(e=>console.log(e));\n * // ↦ 99\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass IsObject extends AbstractConstraint {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n if (isObject(value)) {\n return Promise.resolve(value);\n }\n\n return Promise.reject(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', IsObject);\nexport {Monster, IsObject}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractOperator} from \"./abstractoperator.js\";\n\n/**\n * The OrOperator is used to link several constraints. The constraint is fulfilled if one of the constraints is fulfilled.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';\n * new Monster.Constraint.OrOperator();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';\n * new OrOperator();\n * </script>\n * ```\n *\n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js';\n *\n * new OrOperator(\n * new Valid(), new Invalid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * new OrOperator(\n * new Invalid(), new Invalid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass OrOperator extends AbstractOperator {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n var self = this;\n\n return new Promise(function (resolve, reject) {\n let a, b;\n\n self.operantA.isValid(value)\n .then(function () {\n resolve();\n }).catch(function () {\n a = false;\n /** b has already been evaluated and was not true */\n if (b === false) {\n reject();\n }\n });\n\n self.operantB.isValid(value)\n .then(function () {\n resolve();\n }).catch(function () {\n b = false;\n /** b has already been evaluated and was not true */\n if (a === false) {\n reject();\n }\n });\n });\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', OrOperator);\nexport {Monster, OrOperator}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.\n *\n * You can call the method via the monster namespace `new Monster.Constraint.Valid()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n * new Monster.Constraint.Valid();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n * new Valid();\n * </script>\n * ```\n * \n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n *\n * new Valid().isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass Valid extends AbstractConstraint {\n\n /**\n * this method return a promise containing the result of the check.\n *\n * @param {*} value\n * @returns {Promise}\n */\n isValid(value) {\n return Promise.resolve(value);\n }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', Valid);\nexport {Monster, Valid}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\n\nimport {Monster, isArray, isObject} from \"../types/is.js\";\n\n/**\n * With the diff function you can perform the change of one object to another. The result shows the changes of the second object to the first object.\n *\n * The operator `add` means that something has been added to the second object. `delete` means that something has been deleted from the second object compared to the first object.\n *\n * You can call the method via the monster namespace `Monster.Data.Diff()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';\n * console.log(Monster.Data.Diff(a, b))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';\n * console.log(Diff(a, b))\n * </script>\n * ```\n *\n * @example\n * \n * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';\n * \n * // given are two objects x and y.\n *\n * let x = {\n * a: 1,\n * b: \"Hello!\"\n * }\n *\n * let y = {\n * a: 2,\n * c: true\n * }\n *\n * // These two objects can be compared with each other.\n *\n * console.log(Diff(x, y));\n *\n * // the result is then the following\n *\n * //\n * // [\n * // {\n * // operator: 'update',\n * // path: [ 'a' ],\n * // first: { value: 1, type: 'number' },\n * // second: { value: 2, type: 'number' }\n * // },\n * // {\n * // operator: 'delete',\n * // path: [ 'b' ],\n * // first: { value: 'Hello!', type: 'string' }\n * // },\n * // {\n * // operator: 'add',\n * // path: [ 'c' ],\n * // second: { value: true, type: 'boolean' }\n * // }\n * // ]\n *\n * @param {*} first\n * @param {*} second\n * @return {array}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nfunction Diff(first, second) {\n return doDiff(first, second)\n}\n\n/**\n * @private\n * @param a\n * @param b\n * @param type\n * @return {Set<string>|Set<number>}\n */\nfunction getKeys(a, b, type) {\n if (isArray(type)) {\n const keys = a.length > b.length ? new Array(a.length) : new Array(b.length);\n keys.fill(0);\n return new Set(keys.map((_, i) => i));\n }\n\n return new Set(Object.keys(a).concat(Object.keys(b)));\n}\n\n/**\n * @private\n * @param a\n * @param b\n * @param path\n * @param diff\n * @return {array}\n */\nfunction doDiff(a, b, path, diff) {\n\n let typeA = typeof a\n let typeB = typeof b\n\n const currPath = path || [];\n const currDiff = diff || [];\n\n if (typeA === typeB && typeA === 'object') { // array is object too\n\n getKeys(a, b, typeA).forEach((v) => {\n\n if (!(Object.prototype.hasOwnProperty.call(a, v))) {\n currDiff.push(buildResult(a[v], b[v], 'add', currPath.concat(v)));\n } else if (!(Object.prototype.hasOwnProperty.call(b, v))) {\n currDiff.push(buildResult(a[v], b[v], 'delete', currPath.concat(v)));\n } else {\n doDiff(a[v], b[v], currPath.concat(v), currDiff);\n }\n });\n\n } else {\n\n const o = getOperator(a, b, typeA, typeB);\n if (o !== undefined) {\n currDiff.push(buildResult(a, b, o, path));\n }\n\n }\n\n return currDiff;\n\n}\n\n/**\n *\n * @param {*} a\n * @param {*} b\n * @param {string} operator\n * @param {array} path\n * @return {{path: array, operator: string}}\n * @private\n */\nfunction buildResult(a, b, operator, path) {\n\n const result = {\n operator,\n path,\n };\n\n if (operator !== 'add') {\n result.first = {\n value: a,\n type: typeof a\n };\n\n if (isObject(a)) {\n const name = Object.getPrototypeOf(a)?.constructor?.name;\n if (name !== undefined) {\n result.first.instance = name;\n }\n }\n }\n\n if (operator === 'add' || operator === 'update') {\n result.second = {\n value: b,\n type: typeof b\n };\n\n if (isObject(b)) {\n const name = Object.getPrototypeOf(b)?.constructor?.name;\n if (name !== undefined) {\n result.second.instance = name;\n }\n }\n\n }\n\n return result;\n}\n\n/**\n * @private\n * @param {*} a\n * @param {*} b\n * @return {boolean}\n */\nfunction isNotEqual(a, b) {\n\n if (typeof a !== typeof b) {\n return true;\n }\n\n if (a instanceof Date && b instanceof Date) {\n return a.getTime() !== b.getTime();\n }\n\n return a !== b;\n}\n\n/**\n * @private\n * @param {*} a\n * @param {*} b\n * @return {string|undefined}\n */\nfunction getOperator(a, b) {\n\n /**\n * @type {string|undefined}\n */\n let operator;\n\n /**\n * @type {string}\n */\n let typeA = typeof a;\n\n /**\n * @type {string}\n */\n let typeB = typeof b;\n\n if (typeA === 'undefined' && typeB !== 'undefined') {\n operator = 'add';\n } else if (typeA !== 'undefined' && typeB === 'undefined') {\n operator = 'delete';\n } else if (isNotEqual(a, b)) {\n operator = 'update';\n }\n\n return operator;\n\n}\n\nMonster.assignToNamespace('Monster.Data', Diff);\nexport {Monster, Diff}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {isObject, isArray, isInteger} from '../types/is.js';\nimport {validateString, validateInteger} from '../types/validate.js';\nimport {Base} from '../types/base.js';\nimport {Stack} from \"../types/stack.js\";\n\n/**\n * path separator\n *\n * @private\n * @type {string}\n */\nconst DELIMITER = '.';\n/**\n * @private\n * @type {string}\n */\nconst WILDCARD = '*';\n\n/**\n * You can call the method via the monster namespace `new Monster.Data.Pathfinder()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n * console.log(new Monster.Data.Pathfinder())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n * console.log(new Pathfinder())\n * </script>\n * ```\n *\n * With the help of the pathfinder, values can be read and written from an object construct.\n *\n * ```\n * new Pathfinder({\n * a: {\n * b: {\n * f: [\n * {\n * g: false,\n * }\n * ],\n * }\n * }\n * }).getVia(\"a.b.f.0.g\"); // ↦ false\n * ```\n *\n * if a value is not present or has the wrong type, a corresponding exception is thrown.\n *\n * ```\n * new Pathfinder({}).getVia(\"a.b.f.0.g\"); // ↦ Error\n * ```\n *\n * The `Pathfinder.exists()` method can be used to check whether access to the path is possible.\n *\n * ```\n * new Pathfinder({}).exists(\"a.b.f.0.g\"); // ↦ false\n * ```\n *\n * pathfinder can also be used to build object structures. to do this, the `Pathfinder.setVia()` method must be used.\n *\n * ```\n * obj = {};\n * new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}}\n * ```\n *\n * @example\n *\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n *\n * let value = new Pathfinder({\n * a: {\n * b: {\n * f: [\n * {\n * g: false,\n * }\n * ],\n * }\n * }\n * }).getVia(\"a.b.f.0.g\");\n *\n * console.log(value);\n * // ↦ false\n *\n * try {\n * new Pathfinder({}).getVia(\"a.b.f.0.g\"); \n * } catch(e) {\n * console.log(e.toString());\n * // ↦ Error: the journey is not at its end (b.f.0.g)\n * }\n *\n * @example\n *\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n *\n * let p = new Pathfinder({\n * a: {\n * x: [\n * {c: 1}, {c: 2}\n * ],\n * y: true\n * },\n * b: {\n * x: [\n * {c: 1, d: false}, {c: 2}\n * ],\n * y: true\n * },\n * });\n * \n * let r = p.getVia(\"*.x.*.c\");\n * console.log(r);\n * \n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Pathfinder extends Base {\n\n /**\n * @param {array|object|Map|Set} value\n * @since 1.4.0\n **/\n constructor(object) {\n super();\n this.object = object;\n this.wildCard = WILDCARD;\n }\n\n /**\n * set wildcard\n *\n * @param {string} wildcard\n * @return {Pathfinder}\n * @since 1.7.0\n */\n setWildCard(wildcard) {\n validateString(wildcard);\n this.wildCard = wildcard;\n return this;\n }\n\n /**\n *\n * @param {string} path\n * @since 1.4.0\n * @returns {*}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @throws {Error} unsupported action for this data type\n */\n getVia(path) {\n validateString(path);\n return getValueViaPath.call(this, this.object, path);\n }\n\n /**\n *\n * @param {string} path\n * @param {*} value\n * @returns {Pathfinder}\n * @since 1.4.0\n * @throws {TypeError} unsupported type\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @throws {Error} unsupported action for this data type\n */\n setVia(path, value) {\n validateString(path);\n setValueViaPath.call(this, this.object, path, value);\n return this;\n }\n\n /**\n * Delete Via Path\n *\n * @param {string} path\n * @returns {Pathfinder}\n * @since 1.6.0\n * @throws {TypeError} unsupported type\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @throws {Error} unsupported action for this data type\n */\n deleteVia(path) {\n validateString(path);\n deleteValueViaPath.call(this, this.object, path);\n return this;\n }\n\n /**\n *\n * @param {string} path\n * @return {bool}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not an integer\n * @since 1.4.0\n */\n exists(path) {\n validateString(path);\n try {\n getValueViaPath.call(this, this.object, path, true);\n return true;\n } catch (e) {\n\n }\n\n return false;\n }\n\n}\n\nMonster.assignToNamespace('Monster.Data', Pathfinder);\nexport {Monster, Pathfinder}\n\n/**\n *\n * @param {*} subject\n * @param {string} path\n * @param {string} check\n * @return {Map}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction iterate(subject, path, check) {\n\n const result = new Map;\n\n if (isObject(subject) || isArray(subject)) {\n for (const [key, value] of Object.entries(subject)) {\n result.set(key, getValueViaPath.call(this, value, path, check))\n }\n } else {\n let key= path.split(DELIMITER).shift();\n result.set(key, getValueViaPath.call(this, subject, path, check));\n }\n\n return result;\n\n\n}\n\n/**\n *\n * @param {*} subject\n * @param [string} path\n * @param [boolean} check \n * @returns {*}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction getValueViaPath(subject, path, check) {\n\n if (path === \"\") {\n return subject;\n }\n\n let parts = path.split(DELIMITER)\n let current = parts.shift();\n\n if (current === this.wildCard) {\n return iterate.call(this, subject, parts.join(DELIMITER), check);\n }\n\n if (isObject(subject) || isArray(subject)) {\n\n let anchor;\n if (subject instanceof Map || subject instanceof WeakMap) {\n anchor = subject.get(current);\n\n } else if (subject instanceof Set || subject instanceof WeakSet) {\n current = parseInt(current);\n validateInteger(current)\n anchor = [...subject]?.[current];\n\n } else if (subject instanceof WeakRef) {\n throw Error('unsupported action for this data type');\n\n } else if (isArray(subject)) {\n current = parseInt(current);\n validateInteger(current)\n anchor = subject?.[current];\n } else {\n anchor = subject?.[current];\n }\n\n if (isObject(anchor) || isArray(anchor)) {\n return getValueViaPath.call(this, anchor, parts.join(DELIMITER), check)\n }\n\n if (parts.length > 0) {\n throw Error(\"the journey is not at its end (\" + parts.join(DELIMITER) + \")\");\n }\n\n if (check === true && !subject.hasOwnProperty(current)) {\n throw Error('unknown value');\n }\n\n return anchor;\n\n }\n\n throw TypeError(\"unsupported type \"+typeof subject)\n\n}\n\n/**\n *\n * @param object\n * @param path\n * @param value\n * @returns {void}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction setValueViaPath(object, path, value) {\n\n validateString(path);\n \n let parts = path.split(DELIMITER)\n let last = parts.pop();\n let subpath = parts.join(DELIMITER);\n\n let stack = new Stack()\n let current = subpath;\n while (true) {\n\n try {\n getValueViaPath.call(this, object, current, true)\n break;\n } catch (e) {\n\n }\n\n stack.push(current);\n parts.pop();\n current = parts.join(DELIMITER);\n\n if (current === \"\") break;\n }\n\n while (!stack.isEmpty()) {\n current = stack.pop();\n let obj = {};\n\n if (!stack.isEmpty()) {\n let n = stack.peek().split(DELIMITER).pop();\n if (isInteger(parseInt(n))) {\n obj = [];\n }\n\n }\n\n setValueViaPath.call(this, object, current, obj);\n }\n\n let anchor = getValueViaPath.call(this, object, subpath);\n\n if (!isObject(object) && !isArray(object)) {\n throw TypeError(\"unsupported type: \" + typeof object);\n }\n\n if (anchor instanceof Map || anchor instanceof WeakMap) {\n anchor.set(last, value);\n } else if (anchor instanceof Set || anchor instanceof WeakSet) {\n anchor.append(value)\n\n } else if (anchor instanceof WeakRef) {\n throw Error('unsupported action for this data type');\n\n } else if (isArray(anchor)) {\n last = parseInt(last);\n validateInteger(last)\n anchor[last] = value;\n } else {\n anchor[last] = value;\n }\n\n return;\n\n}\n\n/**\n *\n * @param object\n * @param path\n * @returns {void}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @since 1.6.0\n * @private\n */\nfunction deleteValueViaPath(object, path) {\n\n const parts = path.split(DELIMITER)\n let last = parts.pop();\n const subpath = parts.join(DELIMITER);\n\n const anchor = getValueViaPath.call(this, object, subpath);\n\n if (anchor instanceof Map) {\n anchor.delete(last);\n } else if (anchor instanceof Set || anchor instanceof WeakMap || anchor instanceof WeakSet || anchor instanceof WeakRef) {\n throw Error('unsupported action for this data type');\n\n } else if (isArray(anchor)) {\n last = parseInt(last);\n validateInteger(last)\n delete anchor[last];\n } else {\n delete anchor[last];\n }\n\n return;\n\n}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Transformer} from './transformer.js';\nimport {Base} from '../types/base.js';\nimport {validateFunction, validateString} from '../types/validate.js';\n\n\nconst DELIMITER = '|';\n\n/**\n * The pipe class makes it possible to combine several processing steps.\n *\n * You can call the method via the monster namespace `new Monster.Data.Pipe()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';\n * console.log(new Monster.Data.Pipe())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';\n * console.log(new Pipe())\n * </script>\n * ```\n *\n * A pipe consists of commands whose input and output are connected with the pipe symbol `|`.\n *\n * With the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command).\n * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.\n *\n * @example\n * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';\n * \n * let obj = {\n * a: {\n * b: {\n * c: {\n * d: \"world\"\n * }\n * }\n * }\n * }\n * \n * console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\\\ ').run(obj));\n * // ↦ Hello WORLD\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Pipe extends Base {\n\n /**\n *\n * @param {string} pipe a pipe consists of commands whose input and output are connected with the pipe symbol `|`.\n * @throws {TypeError} \n */\n constructor(pipe) {\n super();\n validateString(pipe);\n this.pipe = pipe.split(DELIMITER).map((v) => {\n return new Transformer(v);\n });\n \n\n }\n\n /**\n *\n * @param {string} name\n * @param {function} callback\n * @returns {Transformer}\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not a function\n */\n setCallback(name, callback) {\n\n for(const [,t] of Object.entries(this.pipe)) {\n t.setCallback(name, callback);\n }\n \n return this;\n \n // return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {\n // return transformer.setCallback(name,callback);\n // }, value);\n \n \n }\n\n /**\n * run a pipe\n *\n * @param {*} value\n * @returns {*}\n */\n run(value) {\n return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {\n return transformer.run(accumulator);\n }, value);\n }\n}\n\nMonster.assignToNamespace('Monster.Data', Pipe);\nexport {Monster, Pipe}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\nimport {validateString, validatePrimitive, validateFunction, validateInteger} from '../types/validate.js';\nimport {isObject, isString, isArray} from '../types/is.js';\nimport {ID} from '../types/id.js';\nimport {clone} from \"../util/clone.js\";\nimport {Pathfinder} from \"./pathfinder.js\";\n\n/**\n * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.\n *\n * You can call the method via the monster namespace `new Monster.Data.Transformer()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';\n * console.log(new Monster.Data.Transformer())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';\n * console.log(new Transformer())\n * </script>\n * ```\n *\n * A simple example is the conversion of all characters to lowercase. for this purpose the command tolower must be used.\n * \n * ```\n * let t = new Transformer('tolower').run('ABC'); // ↦ abc\n * ```\n * \n * **all commands**\n * \n * in the following table all commands, parameters and existing aliases are described.\n * \n * | command | parameter | alias | description |\n * |:-------------|:---------------------------|:------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n * | base64 | | | Converts the value to base64 |\n * | call | function,param1:param2:... | | Calling a callback function. The function can be defined in three places: either globally, in the context `addCallback` or in the passed object |\n * | empty | | | Return empty String \"\" |\n * | if | statement1:statement2 | ? | Is the ternary operator, the first parameter is the valid statement, the second is the false part. To use the current value in the queue, you can set the value keyword. On the other hand, if you want to have the static string \"value\", you have to put one backslash \\\\ in front of it and write value. the follow values are true: 'on', true, 'true' |\n * | index | key:default | property, key | Fetches a value from an object, an array, a map or a set |\n * | length | | count | Length of the string or entries of an array or object |\n * | nop | | | Do nothing |\n * | path | path | | The access to an object is done via a Pathfinder object |\n * | plaintext | | plain | All HTML tags are removed (*) |\n * | prefix | text | | Adds a prefix |\n * | rawurlencode | | | URL coding |\n * | static | | none | The Arguments value is used and passed to the value. Special characters \\ <space> and : can be quotet by a preceding \\. |\n * | substring | start:length | | Returns a substring |\n * | suffix | text | | Adds a suffix |\n * | tointeger | | | Type conversion to an integer value |\n * | tojson | | | Type conversion to an JSON string (since 1.8.0) |\n * | tolower | | strtolower, tolowercase | The input value is converted to lowercase letters |\n * | tostring | | | Type conversion to a string |\n * | toupper | | strtoupper, touppercase | The input value is converted to uppercase letters |\n * | trim | | | Remove spaces at the beginning and end |\n * | ucfirst | | | First character large |\n * | ucwords | | | Any word beginning large |\n * | undefined | | | Return undefined |\n * | uniqid | | | Creates a string with a unique value (**) |\n * \n * (*) for this functionality the extension [jsdom](https://www.npmjs.com/package/jsdom) must be loaded in the nodejs context.\n * \n * ```\n * // polyfill\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n * \n * [\n * 'self',\n * 'document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (global[key] = window[key]));\n * }\n * ```\n * \n * (**) for this command the crypt library is necessary in the nodejs context.\n * \n * ```\n * import * as Crypto from \"@peculiar/webcrypto\";\n * global['crypto'] = new Crypto.Crypto();\n * ```\n * \n * @example\n * \n * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';\n * \n * const transformer = new Transformer(\"tolower\")\n * \n * console.log(transformer.run(\"HELLO\"))\n * // ↦ hello\n * \n * console.log(transformer.run(\"WORLD\"))\n * // ↦ world\n * \n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Transformer extends Base {\n /**\n *\n * @param {string} definition\n */\n constructor(definition) {\n super();\n validateString(definition);\n\n this.args = disassemble(definition);\n this.command = this.args.shift()\n this.callbacks = new Map();\n\n }\n\n /**\n *\n * @param {string} name\n * @param {function} callback\n * @returns {Transformer}\n * @throws {TypeError} value is not a string\n * @throws {TypeError} value is not a function\n */\n setCallback(name, callback) {\n validateString(name)\n validateFunction(callback)\n this.callbacks.set(name, callback);\n return this;\n }\n\n /**\n *\n * @param {*} value\n * @returns {*}\n * @throws {Error} unknown command\n * @throws {TypeError} unsupported type\n * @throws {Error} type not supported\n */\n run(value) {\n return transform.apply(this, [value])\n }\n}\n\nMonster.assignToNamespace('Monster.Data', Transformer);\nexport {Monster, Transformer}\n\n/**\n *\n * @param {string} command\n * @returns {array}\n * @private\n */\nfunction disassemble(command) {\n\n validateString(command);\n \n let placeholder = new Map;\n const regex = /((?<pattern>\\\\(?<char>.)){1})/mig;\n\n // The separator for args must be quotable\n // undefined string which should not occur normally and is also not a regex\n let result = command.matchAll(regex)\n \n for (let m of result) {\n let g=m?.['groups'];\n if(!isObject(g)) {\n continue;\n }\n \n let p=g?.['pattern'];\n let c=g?.['char'];\n \n if(p&&c) {\n let r='__'+new ID().toString()+'__';\n placeholder.set(r, c);\n command=command.replace(p,r);\n }\n \n }\n let parts = command.split(':');\n\n parts = parts.map(function (value) {\n let v = value.trim();\n for(let k of placeholder) {\n v= v.replace(k[0], k[1]);\n }\n return v;\n \n \n });\n\n return parts\n}\n\n/**\n * tries to make a string out of value and if this succeeds to return it back\n * \n * @param {*} value\n * @returns {string}\n * @private\n */\nfunction convertToString(value) {\n\n if (isObject(value) && value.hasOwnProperty('toString')) {\n value = value.toString();\n }\n\n validateString(value)\n return value;\n}\n\n/**\n *\n * @param {*} value\n * @returns {*}\n * @private\n * @throws {Error} unknown command\n * @throws {TypeError} unsupported type\n * @throws {Error} type not supported\n */\nfunction transform(value) {\n\n let args = clone(this.args);\n let key\n\n switch (this.command) {\n\n case 'static':\n return this.args.join(':');\n\n case 'tolower':\n case 'strtolower':\n case 'tolowercase':\n validateString(value)\n return value.toLowerCase();\n\n case 'toupper':\n case 'strtoupper':\n case 'touppercase':\n validateString(value)\n return value.toUpperCase();\n\n case 'tostring':\n return \"\" + value;\n\n case 'tointeger':\n let n = parseInt(value);\n validateInteger(n);\n return n\n \n case 'tojson':\n return JSON.stringify(value);\n\n case 'trim':\n validateString(value)\n return value.trim();\n\n case 'rawurlencode':\n validateString(value)\n return encodeURIComponent(value)\n .replace(/!/g, '%21')\n .replace(/'/g, '%27')\n .replace(/\\(/g, '%28')\n .replace(/\\)/g, '%29')\n .replace(/\\*/g, '%2A');\n\n\n case 'call':\n\n /**\n * callback-definition\n * function callback(value, ...args) {\n * return value;\n * }\n */\n\n let callback;\n let callbackName = args.shift();\n\n if (isObject(value) && value.hasOwnProperty(callbackName)) {\n callback = value[callbackName];\n } else if (this.callbacks.has(callbackName)) {\n callback = this.callbacks.get(callbackName);\n } else if (typeof window === 'object' && window.hasOwnProperty(callbackName)) {\n callback = window[callbackName];\n }\n validateFunction(callback);\n\n args.unshift(value);\n return callback(...args);\n\n case 'plain':\n case 'plaintext':\n validateString(value);\n let doc = new DOMParser().parseFromString(value, 'text/html');\n return doc.body.textContent || \"\";\n\n case 'if':\n case '?':\n\n validatePrimitive(value);\n\n let trueStatement = (args.shift() || undefined);\n let falseStatement = (args.shift() || undefined);\n\n if (trueStatement === 'value') {\n trueStatement = value;\n }\n if (trueStatement === '\\\\value') {\n trueStatement = 'value';\n }\n if (falseStatement === 'value') {\n falseStatement = value;\n }\n if (falseStatement === '\\\\value') {\n falseStatement = 'value';\n }\n\n let condition = ((value !== undefined && value !== '' && value !== 'off' && value !== 'false' && value !== false) || value === 'on' || value === 'true' || value === true);\n return condition ? trueStatement : falseStatement;\n\n\n case 'ucfirst':\n validateString(value);\n\n let firstchar = value.charAt(0).toUpperCase();\n return firstchar + value.substr(1);\n case 'ucwords':\n validateString(value);\n\n return value.replace(/^([a-z\\u00E0-\\u00FC])|\\s+([a-z\\u00E0-\\u00FC])/g, function (v) {\n return v.toUpperCase();\n });\n\n case 'count':\n case 'length':\n\n if ((isString(value) || isObject(value) || isArray(value)) && value.hasOwnProperty('length')) {\n return value.length;\n }\n\n throw new TypeError(\"unsupported type\");\n\n case 'base64':\n convertToString(value);\n return btoa(value);\n\n case 'empty':\n return '';\n\n case 'undefined':\n return undefined;\n\n case 'prefix':\n validateString(value);\n let prefix = args?.[0];\n return prefix + value;\n\n case 'suffix':\n validateString(value);\n let suffix = args?.[0];\n return value + suffix;\n\n case 'uniqid':\n return (new ID()).toString();\n\n case 'key':\n case 'property':\n case 'index':\n\n key = (args.shift() || 'undefined');\n let defaultValue = (args.shift() || '');\n\n if (value instanceof Map) {\n if(!value.has(key)) {\n return defaultValue;\n }\n return value.get(key);\n }\n\n if (isObject(value)||isArray(value)) {\n\n if (value?.[key]) {\n return value?.[key];\n }\n\n return defaultValue;\n }\n\n throw new Error(\"type not supported\")\n\n case 'path':\n\n key = (args.shift() || 'undefined');\n return new Pathfinder(value).getVia(key);\n \n \n case 'substring':\n\n validateString(value);\n \n let start = parseInt(args[0]) || 0;\n let end = (parseInt(args[1]) || 0) + start;\n\n return value.substring(start, end);\n \n case 'nop':\n return value;\n\n default:\n throw new Error(\"unknown command \"+this.command)\n }\n\n return value;\n}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateInstance, validateString} from \"../types/validate.js\";\nimport {getGlobalFunction} from \"../types/global.js\";\nimport {ProxyObserver} from \"../types/proxyobserver.js\";\n\n\n/**\n * attribute prefix\n * \n * @type {string}\n * @memberOf Monster/DOM\n */\nconst ATTRIBUTEPREFIX = \"data-monster-\";\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Assembler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';\n * console.log(new Monster.DOM.Assembler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';\n * console.log(new Assembler())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Assembler extends Base {\n\n /**\n * @param {DocumentFragment} fragment\n * @throws {TypeError} value is not an instance of\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n */\n constructor(fragment) {\n super();\n this.attributePrefix = ATTRIBUTEPREFIX;\n validateInstance(fragment, getGlobalFunction('DocumentFragment'));\n this.fragment = fragment;\n }\n\n /**\n *\n * @param {string} prefix\n * @returns {Assembler}\n * @throws {TypeError} value is not a string\n */\n setAttributePrefix(prefix) {\n validateString(prefix);\n this.attributePrefix = prefix;\n return this;\n }\n\n /**\n *\n * @returns {string}\n */\n getAttributePrefix() {\n return this.attributePrefix;\n }\n\n /**\n *\n * @param {ProxyObserver|undefined} data\n * @return {DocumentFragment}\n * @throws {TypeError} value is not an instance of\n */\n createDocumentFragment(data) {\n\n if (data === undefined) {\n data = new ProxyObserver({});\n }\n\n validateInstance(data, ProxyObserver);\n let fragment = this.fragment.cloneNode(true);\n return fragment;\n }\n\n}\n\nMonster.assignToNamespace('Monster.DOM', Assembler);\nexport {Monster, ATTRIBUTEPREFIX, Assembler}\n", + "'use strict';\n\nimport {Monster} from \"../namespace.js\";\n\n/**\n * @author schukai GmbH\n */\n\n/**\n * @memberOf Monster/DOM\n * @since 1.8.0\n * @type {string}\n */\nconst ATTRIBUTE_PREFIX = 'data-monster-';\n\n/**\n * @memberOf Monster/DOM\n * @since 1.8.0\n * @type {string}\n */\nconst ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options';\n\n\n/**\n * default theme\n * @memberOf Monster/DOM\n * @type {string}\n */\nconst DEFAULT_THEME = 'monster';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX + 'theme-';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n */\nconst ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove';\n\n\nexport {\n Monster,\n ATTRIBUTE_PREFIX,\n ATTRIBUTE_OPTIONS,\n DEFAULT_THEME,\n ATTRIBUTE_THEME_PREFIX,\n ATTRIBUTE_THEME_NAME,\n ATTRIBUTE_UPDATER_ATTRIBUTES,\n ATTRIBUTE_UPDATER_REPLACE,\n ATTRIBUTE_UPDATER_INSERT,\n ATTRIBUTE_UPDATER_INSERT_REFERENCE,\n ATTRIBUTE_UPDATER_REMOVE\n}", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {ATTRIBUTE_OPTIONS} from \"./constants.js\";\nimport {findDocumentTemplate} from \"./template.js\";\nimport {getGlobalObject} from \"../types/global.js\";\nimport {Monster, validateFunction, validateObject, validateString} from \"../types/validate.js\";\n\n\n/**\n * To define a new HTML element we need the power of CustomElement\n *\n * you can call the method via the monster namespace `new Monster.DOM.Element()`.\n *\n * important: after defining a `CustomElement`, the `registerCustomElement` method must be called\n * with the new class name. only then will the tag defined via the `getTag` method be made known to the DOM.\n *\n * ```\n * <script type=\"module\">\n * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';\n * console.log(new Monster.DOM.CustomElement())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';\n * console.log(new CustomElement())\n * </script>\n * ```\n *\n * ## Styling\n *\n * For optimal display of custom-elements the pseudo-class :defined can be used.\n *\n * ```html\n * <style>\n *\n * my-custom-element:not(:defined) {\n * display: none;\n * }\n *\n * my-custom-element:defined {\n * display: flex;\n * }\n *\n * </style>\n * ```\n *\n *\n *\n * @example\n *\n * // In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`.\n * // You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`.\n *\n * class MonsterMyElement extends CustomElement {\n * \n * constructor() {\n * super();\n * }\n * \n * getTemplate() {\n * return `<div class=\"form-check\">\n * <label class=\"form-check-label\">\n * <input class=\"form-check-input\" type=\"checkbox\" value=\"\">\n * Checkvalue\n * </label>\n * </div>`\n * }\n *\n * static getTag() {\n * return \"monster-my-element\"\n * }\n *\n *}\n *\n * // ↦ <monster-my-element></monster-my-element>\n *\n * @see https://github.com/WICG/webcomponents\n * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass CustomElement extends HTMLElement {\n\n /**\n * A new object is created. First the `initOptions` method is called. Here the\n * options can be defined in derived classes. Subsequently, the shadowRoot is initialized.\n *\n * @throws {Error} the options attribute does not contain a valid json definition.\n */\n constructor() {\n super();\n this._options = Object.assign({}, this.defaults, getOptionsFromAttributes.call(this));\n this.init();\n }\n\n /**\n * | option | description |\n * |----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n * | shadowMode | `open` Elements of the shadow root are accessible from JavaScript outside the root, for example using. `close` Denies access to the node(s) of a closed shadow root from JavaScript outside it |\n * | delegatesFocus | A boolean that, when set to true, specifies behavior that mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling. |\n *\n * Derived classes can override and extend this method as follows.\n *\n * ```\n * get defaults() {\n * return Object.assign({}, super.defaults, {\n * myValue:true\n * });\n * }\n * ```\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow\n * @return {{shadowMode: string, delegatesFocus: boolean}}\n * @since 1.8.0\n */\n get defaults() {\n return {\n shadowMode: 'open',\n delegatesFocus: true\n };\n }\n\n /**\n *\n * @param {string} key\n * @param [*} defaultValue\n * @return {*}\n * @since 1.8.0\n */\n getOption(key, defaultValue) {\n validateString(key)\n let v = this._options?.[key];\n if (v === undefined) return defaultValue;\n return v;\n }\n\n /**\n *\n * @return {CustomElement}\n * @since 1.8.0\n */\n init() {\n initShadowRoot.call(this);\n return this;\n }\n\n /**\n *\n * @return {CustomElement}\n * @since 1.8.0\n */\n assemble() {\n return this;\n }\n\n /**\n *\n *\n * @return {CustomElement}\n * @since 1.8.0\n */\n disassemble() {\n return this;\n }\n\n /**\n * Called every time the element is inserted into the DOM. Useful for running setup code, such as\n * fetching resources or rendering. Generally, you should try to delay work until this time.\n *\n * @return {void}\n */\n connectedCallback() {\n this.assemble();\n }\n\n /**\n * Called every time the element is removed from the DOM. Useful for running clean up code.\n *\n * @return {void}\n */\n disconnectedCallback() {\n this.disassemble();\n }\n\n /**\n * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).\n *\n * @return {void}\n */\n adoptedCallback() {\n\n }\n\n /**\n * Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial\n * values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback.\n *\n * @param {string} attrName\n * @param {string} oldVal\n * @param {string} newVal\n * @return {void}\n */\n attributeChangedCallback(attrName, oldVal, newVal) {\n this.assemble();\n }\n\n /**\n * This method defines the default template if no template with the id is found in the dom.\n *\n * @since 1.8.0\n * @return {string}\n * @throws {Error} the method getTemplate must be overwritten by the derived class.\n */\n static getTemplate() {\n throw new Error(\"the method getTemplate must be overwritten by the derived class.\");\n }\n\n\n /**\n * There is no check on the name by this class. the developer is responsible for assigning an appropriate tag.\n * if the name is not valid, registerCustomElement() will issue an erro\n *\n * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * @return {string}\n * @throws {Error} the method getTag must be overwritten by the derived class.\n */\n static getTag() {\n throw new Error(\"the method getTag must be overwritten by the derived class.\");\n }\n\n /**\n *\n * @return {CSSStyleSheet}\n */\n static getCSSStyleSheet() {\n return new CSSStyleSheet();\n }\n\n\n}\n\n/**\n * @private\n * @return {object}\n * @throws {Error} the options attribute does not contain a valid json definition.\n */\nfunction getOptionsFromAttributes() {\n if (this.hasAttribute(ATTRIBUTE_OPTIONS)) {\n try {\n let obj = JSON.parse(this.getAttribute(ATTRIBUTE_OPTIONS))\n validateObject(obj);\n return obj;\n } catch(e) {\n throw new Error('the options attribute '+ATTRIBUTE_OPTIONS+' does not contain a valid json definition (actual: '+this.getAttribute(ATTRIBUTE_OPTIONS)+').');\n }\n }\n\n return {};\n}\n\n/**\n * @private\n * @return {CustomElement}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow\n * @memberOf CustomElement\n * @since 1.8.0\n */\nfunction initShadowRoot() {\n\n this.attachShadow({\n mode: this.getOption('shadowMode', 'open'),\n delegatesFocus: this.getOption('delegatesFocus', true)\n });\n\n const styleSheet = this.constructor.getCSSStyleSheet();\n if (styleSheet instanceof CSSStyleSheet) {\n this.shadowRoot.adoptedStyleSheets = [styleSheet];\n }\n\n try {\n let template = findDocumentTemplate(this.constructor.getTag());\n this.shadowRoot.appendChild(template.createDocumentFragment());\n } catch (e) {\n this.shadowRoot.innerHTML = this.constructor.getTemplate();\n }\n\n return this;\n}\n\n/**\n * This method registers a new element. The string returned by `CustomElement.getTag()` is used as the tag.\n *\n * @param {CustomElement} element\n * @return {void}\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {DOMException} Failed to execute 'define' on 'CustomElementRegistry': is not a valid custom element name\n */\nfunction registerCustomElement(element) {\n validateFunction(element);\n\n let tag = element.getTag();\n\n getGlobalObject('customElements').define(element.getTag(), element);\n return;\n}\n\nMonster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement);\nexport {Monster, registerCustomElement, CustomElement}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {Stack} from \"../types/stack.js\";\nimport {validateInstance} from \"../types/validate.js\";\nimport {ProxyObserver} from \"../types/proxyobserver.js\";\nimport {Observer} from \"../types/observer.js\";\nimport {getGlobalFunction, getGlobalObject} from \"../types/global.js\";\nimport {isInstance} from \"../types/is.js\";\nimport {ATTRIBUTEPREFIX} from \"./assembler.js\"\nimport {ID} from \"../types/id.js\";\n\n/**\n * @private\n * @type {Symbol}\n */\nconst MONSTERDOMHANDLE = Symbol('MonsterHandle');\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Handle()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';\n * console.log(new Monster.DOM.Handle())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';\n * console.log(new Handle())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster.DOM\n */\nclass Handle extends Base {\n /**\n *\n * @param {ProxyObserver} data\n */\n constructor(data) {\n super();\n\n let self = this;\n\n self.id = new ID();\n\n validateInstance(data, ProxyObserver);\n\n this.data = data\n\n this.mutationObserver = createMutationObserver.call(this);\n this.dataObserver = createDataObserver.call(this);\n this.data.attachObserver(this.dataObserver);\n\n this.nodes = new WeakSet\n this.updates = new Stack();\n\n }\n\n /**\n * @return {void}\n */\n update() {\n return;\n }\n\n /**\n *\n * @param {HTMLElement|Document} node\n * @return {Handle}\n */\n remove(node) {\n\n if (isInstance(node, getGlobalFunction('Document'))) {\n node = node.firstElementChild\n }\n\n validateInstance(node, getGlobalFunction('HTMLElement'))\n\n if (!this.nodes.has(node)) {\n return this;\n }\n\n this.mutationObserver.disconnect(node);\n\n delete node.dataset[MONSTERDOMHANDLE]\n node.removeAttribute(ATTRIBUTEPREFIX + \"handler\");\n\n return this;\n\n }\n\n /**\n *\n * @param {HTMLElement|Document} node\n * @return {Handle}\n */\n append(node) {\n\n if (isInstance(node, getGlobalFunction('Document'))) {\n node = node.firstElementChild\n }\n\n validateInstance(node, getGlobalFunction('HTMLElement'))\n\n if (this.nodes.has(node)) {\n return this;\n }\n\n node.dataset[MONSTERDOMHANDLE] = this;\n node.setAttribute(ATTRIBUTEPREFIX + \"handler\", true);\n\n this.mutationObserver.observe(node, {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n characterDataOldValue: true,\n attributeOldValue: true\n });\n\n this.nodes.add(node);\n\n return this;\n\n }\n}\n\n/**\n *\n * @private\n * @return {Observer}\n */\nfunction createDataObserver() {\n const self = this;\n\n return new Observer(() => {\n self.update();\n });\n}\n\n/**\n *\n * @private\n * @return {MutationObserver}\n */\nfunction createMutationObserver() {\n\n const self = this;\n\n /**\n * @private\n * @type {MutationObserver}\n */\n const MutationObserver = getGlobalFunction('MutationObserver');\n\n // @link https://developer.mozilla.org/en/docs/Web/API/MutationObserver\n return new MutationObserver((mutationsList, observer) => {\n\n for (const mutation of mutationsList) {\n self.updates.push(mutation);\n }\n\n self.update();\n }\n )\n\n}\n\n/**\n * get the handle of a node\n *\n * if a node is specified without a handler, a recursive search upwards is performed until the corresponding\n * handle is found, or undefined is returned.\n *\n * you can call the method via the monster namespace `Monster.DOM.getHandleFromNode()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';\n * console.log(Monster.DOM.getHandleFromNode())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';\n * console.log(getHandleFromNode())\n * </script>\n * ```\n *\n * @param {Node} node\n * @return {Handle|undefined}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {TypeError} value is not an instance of Node\n */\nfunction getHandleFromNode(node) {\n validateInstance(node, getGlobalFunction('Node'));\n\n let handle = node.dataset?.[MONSTERDOMHANDLE];\n if (handle === undefined) {\n let parentNode = node?.['parentNode'];\n if (isInstance(parentNode, getGlobalFunction('Node'))) {\n return getHandleFromNode(parentNode)\n }\n }\n\n return handle;\n}\n\nMonster.assignToNamespace('Monster.DOM', getHandleFromNode, Handle);\nexport {Monster, getHandleFromNode, Handle}\n\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateString} from \"../types/validate.js\";\nimport {getGlobalFunction, getGlobalObject} from '../types/global.js';\nimport {validateInstance} from \"../types/validate.js\";\nimport {getDocumentTheme} from \"./theme.js\";\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Template()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';\n * console.log(new Monster.DOM.Template())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';\n * console.log(new Template())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Template extends Base {\n /**\n *\n * @param {HTMLTemplateElement} template\n * @throws {TypeError} value is not an instance of\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n */\n constructor(template) {\n super();\n const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');\n validateInstance(template, HTMLTemplateElement);\n this.template = template;\n }\n\n /**\n *\n * @returns {HTMLTemplateElement}\n */\n getTemplateElement() {\n return this.template;\n }\n\n /**\n *\n * @return {DocumentFragment}\n * @throws {TypeError} value is not an instance of\n */\n createDocumentFragment() {\n return this.template.content.cloneNode(true);\n }\n\n}\n\n/**\n *\n *\n * you can call the method via the monster namespace `Monster.DOM.findDocumentTemplate()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';\n * console.log(Monster.DOM.findDocumentTemplate())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';\n * console.log(findDocumentTemplate())\n * </script>\n * ```\n *\n * @param {string} id\n * @return {Template}\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} template id not found.\n * @throws {TypeError} value is not a string\n */\nfunction findDocumentTemplate(id) {\n validateString(id);\n const document = getGlobalObject('document');\n const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');\n\n let theme = getDocumentTheme()\n let themedID = id + '-' + theme.getName();\n\n let template = document.getElementById(themedID);\n if (template instanceof HTMLTemplateElement) {\n return new Template(template);\n }\n\n template = document.getElementById(id);\n if (template instanceof HTMLTemplateElement) {\n return new Template(template);\n }\n\n throw new Error(\"template \" + id + \" not found.\")\n}\n\n\nMonster.assignToNamespace('Monster.DOM', Template, findDocumentTemplate);\nexport {Monster, Template, findDocumentTemplate}\n\n\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateString} from \"../types/validate.js\";\nimport {getGlobalObject} from '../types/global.js';\nimport {ATTRIBUTE_THEME_NAME, DEFAULT_THEME} from \"./constants.js\";\n\n\n\n/**\n * You can call the method via the monster namespace `new Monster.DOM.Theme()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';\n * console.log(new Monster.DOM.Theme())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';\n * console.log(new Theme())\n * </script>\n * ```\n * \n * @example\n *\n * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';\n *\n * const theme = getDocumentTheme();\n * console.log(theme.getName());\n * // ↦ monster\n *\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Theme extends Base {\n\n /**\n *\n * @param name\n * @throws {TypeError} value is not a string\n */\n constructor(name) {\n super();\n validateString(name);\n this.name = name;\n }\n\n /**\n *\n * @returns {string}\n */\n getName() {\n return this.name;\n }\n\n}\n\n/**\n * The theming used in the document can be defined via the html-tag.\n * The theming is specified via the attribute `data-monster-theme-name`.\n *\n * As name for a theme all characters are valid, which are also allowed for a HTMLElement-ID.\n *\n * ```\n * <html data-monster-theme-name=\"my-theme\">\n * ```\n *\n * the default theme name is `monster`.\n *\n * @return {Theme}\n * @since 1.7.0\n */\nfunction getDocumentTheme() {\n let document = getGlobalObject('document');\n let name = DEFAULT_THEME;\n\n let element = document.querySelector('html');\n if (element instanceof HTMLElement) {\n let theme = element.getAttribute(ATTRIBUTE_THEME_NAME);\n if (theme) {\n name = theme;\n }\n }\n\n return new Theme(name);\n\n}\n\nMonster.assignToNamespace('Monster.DOM', Theme, getDocumentTheme);\nexport {Monster, Theme, getDocumentTheme}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, getGlobal} from \"../types/global.js\";\nimport {validateString} from \"../types/validate.js\";\n\n\n/**\n * this method fetches the document object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getDocument())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(getDocument())\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n *\n * [\n * 'self',\n * 'document',\n * 'Document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {object}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n */\nfunction getDocument() {\n let document = getGlobal()?.['document'];\n if (typeof document !== 'object') {\n throw new Error(\"not supported environment\")\n }\n\n return document;\n}\n\n/**\n * this method fetches the window object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getWindow())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(getWindow(null))\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n *\n * getGlobal()['window']=window;\n * \n * [\n * 'self',\n * 'document',\n * 'Document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {object}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n */\nfunction getWindow() {\n let window = getGlobal()?.['window'];\n if (typeof window !== 'object') {\n throw new Error(\"not supported environment\")\n }\n\n return window;\n}\n\n\n/**\n *\n *\n * this method fetches the document object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getDocumentFragmentFromString())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(getDocumentFragmentFromString('<div></div>'))\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n * const {window} = new JSDOM('', {\n * url: 'http://example.com/',\n * pretendToBeVisual: true\n * });\n *\n * [\n * 'self',\n * 'document',\n * 'Document',\n * 'Node',\n * 'Element',\n * 'HTMLElement',\n * 'DocumentFragment',\n * 'DOMParser',\n * 'XMLSerializer',\n * 'NodeFilter',\n * 'InputEvent',\n * 'CustomEvent'\n * ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {DocumentFragment}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n * @throws {TypeError} value is not a string\n */\nfunction getDocumentFragmentFromString(html) {\n validateString(html);\n\n const document = getDocument();\n const template = document.createElement('template');\n template.innerHTML = html;\n \n return template.content;\n}\n\n\nMonster.assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString);\nexport {Monster, getWindow, getDocument, getDocumentFragmentFromString}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\nimport {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from \"./logger.js\";\nimport {LogEntry} from \"./logentry.js\";\nimport {validateInstance, validateInteger} from \"../types/validate.js\";\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Handler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';\n * console.log(new Monster.Logging.Handler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';\n * console.log(new Handler())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass Handler extends Base {\n constructor() {\n super();\n\n /**\n * Loglevel\n * \n * @type {integer} \n */\n this.loglevel = OFF;\n }\n\n /**\n * this is the central log function. this method must be\n * overwritten by derived handlers with their own logic.\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {LogEntry} entry\n * @returns {boolean}\n */\n log(entry) {\n validateInstance(entry, LogEntry);\n\n if (this.loglevel < entry.getLogLevel()) {\n return false;\n }\n\n return true;\n }\n\n /**\n * set loglevel\n *\n * @param {integer} loglevel\n * @returns {Handler}\n * @since 1.5.0\n */\n setLogLevel(loglevel) {\n validateInteger(loglevel)\n this.loglevel = loglevel;\n return this;\n }\n\n /**\n * get loglevel\n *\n * @returns {integer}\n * @since 1.5.0\n */\n getLogLevel() {\n return this.loglevel;\n }\n\n /**\n * Set log level to All\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setAll() {\n this.setLogLevel(ALL);\n return this;\n };\n\n /**\n * Set log level to Trace\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setTrace() {\n this.setLogLevel(TRACE);\n return this;\n };\n\n /**\n * Set log level to Debug\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setDebug() {\n this.setLogLevel(DEBUG);\n return this;\n };\n\n /**\n * Set log level to Info\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setInfo() {\n this.setLogLevel(INFO);\n return this;\n };\n\n /**\n * Set log level to Warn\n *\n * @returns {undefined}\n * @since 1.5.0\n */\n setWarn() {\n this.setLogLevel(WARN);\n return this;\n };\n\n /**\n * Set log level to Error\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setError() {\n this.setLogLevel(ERROR);\n return this;\n };\n\n /**\n * Set log level to Fatal\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setFatal() {\n this.setLogLevel(FATAL);\n return this;\n };\n\n\n /**\n * Set log level to Off\n *\n * @returns {Handler}\n * @since 1.5.0\n */\n setOff() {\n this.setLogLevel(OFF);\n return this;\n };\n\n\n}\n\n\nMonster.assignToNamespace('Monster.Logging', Handler);\nexport {Monster, Handler};\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../../namespace.js';\nimport {Base} from '../../types/base.js';\nimport {Handler} from '../../logging/handler.js';\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Handler.ConsoleHandler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js';\n * console.log(new Monster.Logging.Handler.ConsoleHandler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js';\n * console.log(new ConsoleHandler())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging/Handler\n */\nclass ConsoleHandler extends Base {\n constructor() {\n super();\n }\n}\n\n\nMonster.assignToNamespace('Monster.Logging', ConsoleHandler);\nexport {Monster, Handler};\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateInteger} from '../types/validate.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.LogEntry()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';\n * console.log(new Monster.Logging.LogEntry())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';\n * console.log(new LogEntry())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass LogEntry extends Base {\n /**\n *\n * @param {int} loglevel\n * @param {*} args\n */\n constructor(loglevel, ...args) {\n super();\n validateInteger(loglevel);\n\n this.loglevel = loglevel\n this.arguments = args\n }\n\n /**\n *\n * @returns {integerr}\n */\n getLogLevel() {\n return this.loglevel\n }\n\n /**\n *\n * @returns {array}\n */\n getArguments() {\n return this.arguments\n }\n\n}\n\nMonster.assignToNamespace('Monster.Logging', LogEntry);\nexport {Monster, LogEntry}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateInteger, validateObject, validateString} from '../types/validate.js';\nimport {Handler} from '../logging/handler.js';\nimport {LogEntry} from '../logging/logentry.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst ALL = 255;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst TRACE = 64;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst DEBUG = 32;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst INFO = 16;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst WARN = 8;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst ERROR = 4;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst FATAL = 2;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst OFF = 0;\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Logger()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';\n * console.log(new Monster.Logging.Logger())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';\n * console.log(new Logger())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass Logger extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n this.handler = new Set;\n }\n\n /**\n *\n * @param {Handler} handler\n * @returns {Logger}\n * @throws {Error} the handler must be an instance of Handler\n */\n addHandler(handler) {\n validateObject(handler)\n if (!(handler instanceof Handler)) {\n throw new Error(\"the handler must be an instance of Handler\")\n }\n\n this.handler.add(handler)\n return this;\n }\n\n /**\n *\n * @param {Handler} handler\n * @returns {Logger}\n * @throws {Error} the handler must be an instance of Handler\n */\n removeHandler(handler) {\n validateObject(handler)\n if (!(handler instanceof Handler)) {\n throw new Error(\"the handler must be an instance of Handler\")\n }\n\n this.handler.delete(handler);\n return this;\n }\n\n /**\n * log Trace message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logTrace() {\n triggerLog.apply(this, [TRACE, ...arguments]);\n return this;\n };\n\n /**\n * log Debug message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logDebug() {\n triggerLog.apply(this, [DEBUG, ...arguments]);\n return this;\n };\n\n /**\n * log Info message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logInfo() {\n triggerLog.apply(this, [INFO, ...arguments]);\n return this;\n };\n\n /**\n * log Warn message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logWarn() {\n triggerLog.apply(this, [WARN, ...arguments]);\n return this;\n };\n\n /**\n * log Error message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logError() {\n triggerLog.apply(this, [ERROR, ...arguments]);\n return this;\n };\n\n /**\n * log Fatal message\n *\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;\n *\n * @param {*} arguments\n * @returns {Logger}\n * @since 1.5.0\n */\n logFatal() {\n triggerLog.apply(this, [FATAL, ...arguments]);\n return this;\n };\n\n\n /**\n * Labels\n *\n * @param {integer} level\n * @returns {string}\n */\n getLabel(level) {\n validateInteger(level);\n\n if (level === ALL) return 'ALL';\n if (level === TRACE) return 'TRACE';\n if (level === DEBUG) return 'DEBUG';\n if (level === INFO) return 'INFO';\n if (level === WARN) return 'WARN';\n if (level === ERROR) return 'ERROR';\n if (level === FATAL) return 'FATAL';\n if (level === OFF) return 'OFF';\n\n return 'unknown';\n };\n\n /**\n * Level\n *\n * @param {string} label\n * @returns {integer}\n */\n getLevel(label) {\n validateString(label);\n\n if (label === 'ALL') return ALL;\n if (label === 'TRACE') return TRACE;\n if (label === 'DEBUG') return DEBUG;\n if (label === 'INFO') return INFO;\n if (label === 'WARN') return WARN;\n if (label === 'ERROR') return ERROR;\n if (label === 'FATAL') return FATAL;\n if (label === 'OFF') return OFF;\n\n return 0;\n };\n\n\n}\n\nMonster.assignToNamespace('Monster.Logging', Logger);\nexport {Monster, Logger, ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF};\n\n\n/**\n * Log triggern\n *\n * @param {integer} loglevel\n * @param {*} args\n * @returns {Logger}\n * @private\n */\nfunction triggerLog(loglevel, ...args) {\n var logger = this;\n\n for (let handler of logger.handler) {\n handler.log(new LogEntry(loglevel, args))\n }\n\n return logger;\n\n}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\n\nimport {Monster, getGlobal} from '../types/global.js';\n\n\n/**\n * this function uses crypt and returns a random number.\n *\n * you can call the method via the monster namespace `Monster.Math.random()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';\n * console.log(Monster.Math.random(1,10)) // ↦ 5\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';\n * console.log(random(1,10)) // ↦ 5\n * </script>\n * ```\n *\n * @param {number} min starting value of the definition set (default is 0)\n * @param {number} max end value of the definition set (default is 1000000000)\n * @returns {number}\n * @memberOf Monster/Math\n\n * @since 1.0.0\n * @copyright schukai GmbH\n */\nfunction random(min, max) {\n\n if (min === undefined) {\n min = 0;\n }\n if (max === undefined) {\n max = MAX;\n }\n\n if (max < min) {\n throw new Error(\"max must be greater than min\");\n }\n\n return Math.round(create(min, max));\n\n}\n\n/**\n * @private\n * @type {number}\n */\nvar MAX = 1000000000;\n\n\nMath.log2 = Math.log2 || function (n) {\n return Math.log(n) / Math.log(2);\n};\n\n/**\n *\n * @param min\n * @param max\n * @returns {*}\n * @private\n */\nfunction create(min, max) {\n let crypt;\n let globalReference = getGlobal();\n\n crypt = globalReference?.['crypto'] || globalReference?.['msCrypto'] || globalReference?.['crypto'] || undefined;\n\n if (typeof crypt === \"undefined\") {\n throw new Error(\"missing crypt\")\n }\n\n let rval = 0;\n const range = max - min;\n if (range < 2) {\n return min;\n }\n\n const bitsNeeded = Math.ceil(Math.log2(range));\n if (bitsNeeded > 53) {\n throw new Error(\"we cannot generate numbers larger than 53 bits.\");\n }\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\n const mask = Math.pow(2, bitsNeeded) - 1;\n\n const byteArray = new Uint8Array(bytesNeeded);\n crypt.getRandomValues(byteArray);\n\n let p = (bytesNeeded - 1) * 8;\n for (var i = 0; i < bytesNeeded; i++) {\n rval += byteArray[i] * Math.pow(2, p);\n p -= 8;\n }\n\n rval = rval & mask;\n\n if (rval >= range) {\n return create(min, max);\n }\n\n return min + rval;\n\n}\n\nMonster.assignToNamespace('Monster.Math', random);\nexport {Monster, random}\n\n\n\n\n", "/**\n * @license\n * Copyright 2021 schukai GmbH\n * SPDX-License-Identifier: AGPL-3.0-only or COMMERCIAL\n * @author schukai GmbH\n */\n\n'use strict';\n\nimport {Monster} from './namespace.js';\nimport './types/base.js';\nimport './types/global.js';\nimport './types/id.js';\nimport './types/is.js';\nimport './types/observer.js';\nimport './types/observerlist.js';\nimport './types/proxyobserver.js';\nimport './types/queue.js';\nimport './types/randomid.js';\nimport './types/stack.js';\nimport './types/tokenlist.js';\nimport './types/uniquequeue.js';\nimport './types/validate.js';\nimport './types/version.js';\nimport './math/random.js';\nimport './data/diff.js';\nimport './data/pathfinder.js';\nimport './data/pipe.js';\nimport './data/transformer.js';\nimport './logging/handler.js';\nimport './logging/logentry.js';\nimport './logging/logger.js';\nimport './logging/handler/console.js';\nimport './util/clone.js';\nimport './util/comparator.js';\nimport './util/freeze.js';\nimport './constraints/abstract.js';\nimport './constraints/abstractoperator.js';\nimport './constraints/andoperator.js';\nimport './constraints/invalid.js';\nimport './constraints/isarray.js';\nimport './constraints/isobject.js';\nimport './constraints/oroperator.js';\nimport './constraints/valid.js';\nimport './dom/util.js';\nimport './dom/template.js';\nimport './dom/handle.js';\nimport './dom/assembler.js';\nimport './dom/customelement.js';\n\n\nMonster.Util.deepFreeze(Monster);\nexport {Monster};\n\nlet rootName\ntry {\n rootName = Monster.Types.getGlobalObject('__MonsterRootName__');\n} catch (e) {\n\n}\n\nif (!rootName) rootName = \"Monster\";\n\nMonster.Types.getGlobal()[rootName] = Monster", - "'use strict';\n\n/**\n * @namespace Monster\n * @author schukai GmbH\n */\n\n\n/**\n * namespace class objects form the basic framework of the namespace administration.\n *\n * all functions, classes and objects of the library hang within the namespace tree.\n *\n * via `obj instanceof Monster.Namespace` it is also easy to check whether it is an object or a namespace.\n *\n * @memberOf Monster\n * @copyright schukai GmbH\n * @since 1.0.0\n */\nclass Namespace {\n\n /**\n *\n * @param namespace\n * @param obj\n */\n constructor(namespace) {\n if (namespace === undefined || typeof namespace !== 'string') {\n throw new Error(\"namespace is not a string\")\n }\n this.namespace = namespace;\n }\n\n /**\n *\n * @returns {string}\n */\n getNamespace() {\n return this.namespace;\n }\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return this.getNamespace();\n }\n}\n\n/**\n * @type {Namespace}\n * @global\n */\nexport const Monster = new Namespace(\"Monster\");\n\n\n/**\n *\n */\nassignToNamespace('Monster', assignToNamespace);\n\n/**\n * To expand monster, the `Monster.assignToNamespace()` method can be used. \n *\n * you must call the method in the monster namespace. this allows you to mount your own classes, objects and functions into the namespace.\n * \n * To avoid confusion and so that you do not accidentally overwrite existing functions, you should use the custom namespace `X`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/namespace.js';\n * function hello() {\n * console.log('Hello World!');\n * }\n * Monster.assignToNamespace(\"Monster.X\",hello)\n * Monster.X.hello(); // ↦ Hello World!\n * </script>\n * \n * ```\n *\n * @param ns\n * @param obj\n * @memberOf Monster\n \n */\nfunction assignToNamespace(ns, ...obj) {\n let current = namespaceFor(ns.split(\".\"));\n\n for (let i = 0, l = obj.length; i < l; i++) {\n current[objectName(obj[i])] = obj[i];\n }\n}\n\n/**\n *\n * @param fn\n * @returns {string|*}\n * @private\n */\nfunction objectName(fn) {\n try {\n\n if (typeof fn !== 'function') {\n throw new Error(\"the first argument is not a function or class.\");\n }\n\n if (fn.hasOwnProperty('name')) {\n return fn.name;\n }\n\n if (\"function\" === typeof fn.toString) {\n let s = fn.toString();\n let f = s.match(/^\\s*function\\s+([^\\s(]+)/);\n if (Array.isArray(f) && typeof f[1] === 'string') {\n return f[1];\n }\n let c = s.match(/^\\s*class\\s+([^\\s(]+)/);\n if (Array.isArray(c) && typeof c[1] === 'string') {\n return c[1];\n }\n }\n\n } catch (e) {\n throw new Error(\"exception \" + e);\n }\n\n throw new Error(\"the name of the class or function cannot be resolved.\");\n}\n\n/**\n *\n * @param parts\n * @returns {Namespace}\n * @private\n */\nfunction namespaceFor(parts) {\n var space = Monster, ns = 'Monster';\n\n for (let i = 0; i < parts.length; i++) {\n\n if (\"Monster\" === parts[i]) {\n continue;\n }\n\n ns += '.' + parts[i];\n\n if (!space.hasOwnProperty(parts[i])) {\n space[parts[i]] = new Namespace(ns);\n }\n\n space = space[parts[i]];\n }\n\n return space;\n}\n\n\nexport {assignToNamespace}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\n\n\n/**\n * This is the base class from which all monster classes are derived.\n *\n * You can call the method via the monster namespace `new Monster.Types.Base()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';\n * console.log(new Monster.Types.Base())\n * console.log(new Monster.Types.Base())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';\n * console.log(new Base())\n * console.log(new Base())\n * </script>\n * ```\n *\n * The class was formerly called Object.\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Base extends Object {\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this);\n };\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Base);\nexport {Monster, Base}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateFunction, validateString, validateObject} from \"./validate.js\";\n\n/**\n * @type {objec}\n * @private\n */\nvar globalReference;\n\n/**\n * @private\n */\n(function () {\n if (typeof globalThis === 'object') {\n globalReference = globalThis;\n return;\n }\n\n Object.defineProperty(Object.prototype, '__monster__', {\n get: function () {\n return this;\n },\n configurable: true\n });\n\n __monster__.globalThis = __monster__;\n delete Object.prototype.__monster__;\n\n globalReference = globalThis;\n\n}());\n\n/**\n * Return globalThis\n *\n * If globalThis is not available, it will be polyfilled\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @returns {objec} globalThis\n */\nfunction getGlobal() {\n return globalReference;\n}\n\n/**\n * Return global object or throw Error\n *\n * You can call the method via the monster namespace `Monster.Types.getGlobalObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';\n * console.log(Monster.Types.getGlobalObject('document')) // ↦ { }\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';\n * console.log(getGlobalObject('document')) // ↦ { }\n * </script>\n * ```\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @param {string} name\n * @returns {objec}\n * @throws {Error} the object is not defined\n * @throws {TypeError} value is not a object\n * @throws {TypeError} value is not a string\n */\nfunction getGlobalObject(name) {\n validateString(name);\n let o = globalReference?.[name];\n if (typeof o === 'undefined') throw new Error('the object ' + name + ' is not defined');\n validateObject(o);\n return o;\n}\n\n/**\n * Return global function or throw Error\n *\n * You can call the method via the monster namespace `Monster.Types.getGlobalFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';\n * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { }\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';\n * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }\n * </script>\n * ```\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @param {string} name\n * @returns {objec}\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n * @throws {TypeError} value is not a string\n */\nfunction getGlobalFunction(name) {\n validateString(name);\n let f = globalReference?.[name];\n if (typeof f === 'undefined') throw new Error('the function ' + name + ' is not defined');\n validateFunction(f);\n return f;\n}\n\n\nMonster.assignToNamespace('Monster.Types', getGlobal, getGlobalObject, getGlobalFunction);\nexport {Monster, getGlobal, getGlobalObject, getGlobalFunction}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from './base.js';\nimport {validateString} from \"./validate.js\";\n\n/**\n * @private\n * @type {Map<string, integer>}\n */\nlet internalCounter = new Map;\n\n/**\n * With the id class, sequences of ids can be created. for this purpose, an internal counter is incremented for each prefix.\n * thus, the first id with the prefix `myid` will be `myid1` and the second id `myid2`.\n * The ids are the same for every call, for example on a web page.\n *\n * So the ids can also be used for navigation. you just have to take care that the order stays the same.\n *\n * You can call the method via the monster namespace `new Monster.Types.ID()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';\n * console.log(new Monster.Types.ID())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';\n * console.log(new ID())\n * </script>\n * ```\n *\n * As of version 1.6.0 there is the new RandomID. this ID class is continuous from now on.\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ID extends Base {\n\n /**\n * create new object\n */\n constructor(prefix) {\n super();\n\n if (prefix === undefined) {\n prefix = \"id\";\n }\n\n validateString(prefix);\n\n if (!internalCounter.has(prefix)) {\n internalCounter.set(prefix, 1);\n }\n\n let count = internalCounter.get(prefix);\n this.id = prefix + count;\n\n internalCounter.set(prefix, ++count);\n }\n\n /**\n * @return {string}\n */\n toString() {\n return this.id;\n }\n\n}\n\nMonster.assignToNamespace('Monster.Types', ID);\nexport {Monster, ID}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\n\n/**\n * With this function you can check if a value is iterable\n *\n * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isIterable(null)) // ↦ false\n * console.log(Monster.Types.isIterable('hello')) // ↦ true\n * console.log(Monster.Types.isIterable([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isIterable(null)) // ↦ false\n * console.log(isIterable('hello')) // ↦ true\n * console.log(isIterable([])) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isIterable(value) {\n if (value === undefined) return false;\n if (value === null) return false;\n return typeof value?.[Symbol.iterator] === 'function';\n}\n\n\n/**\n * Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)\n *\n * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isPrimitive('2')) // ↦ false\n * console.log(Monster.Types.isPrimitive([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isPrimitive('2')) // ↦ true\n * console.log(isPrimitive([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isPrimitive(value) {\n var type;\n\n if (value === undefined || value === null || value === NaN) {\n return true;\n }\n\n type = typeof value;\n\n if (type === 'string' || type === 'number' || type === 'boolean' || type === 'symbol') {\n return true;\n }\n\n return false;\n}\n\n/**\n * Checks whether the value passed is a boolean\n *\n * You can call the method via the monster namespace `Monster.Types.isBoolean()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isBoolean('2')) // ↦ false\n * console.log(Monster.Types.isBoolean([])) // ↦ false\n * console.log(Monster.Types.isBoolean(true)) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isBoolean('2')) // ↦ false\n * console.log(isBoolean([])) // ↦ false\n * console.log(isBoolean(2>4)) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isBoolean(value) {\n\n if (value === true || value === false) {\n return true;\n }\n\n return false;\n}\n\n/**\n * checks whether the value passed is a string\n *\n * you can call the method via the monster namespace `Monster.Types.isString()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isString('2')) // ↦ true\n * console.log(Monster.Types.isString([])) // ↦ false\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isString('2')) // ↦ true\n * console.log(isString([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isString(value) {\n if (value === undefined || typeof value !== 'string') {\n return false;\n }\n return true;\n}\n\n/**\n * checks whether the value passed is a object\n *\n * you can call the method via the monster namespace `Monster.Types.isObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isObject('2')) // ↦ false\n * console.log(Monster.Types.isObject([])) // ↦ false\n * console.log(Monster.Types.isObject({})) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isObject('2')) // ↦ false\n * console.log(isObject([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isObject(value) {\n\n if (isArray(value)) return false;\n if (isPrimitive(value)) return false;\n\n if (typeof value === 'object') {\n return true;\n }\n\n return false;\n}\n\n/**\n * checks whether the value passed is a object and instance of instance\n *\n * you can call the method via the monster namespace `Monster.Types.isInstance()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isInstance('2')) // ↦ false\n * console.log(Monster.Types.isInstance([])) // ↦ false\n * console.log(Monster.Types.isInstance({})) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isInstance('2')) // ↦ false\n * console.log(isInstance([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @param {*} instance\n * @returns {boolean}\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isInstance(value, instance) {\n\n if (!isObject(value)) return false;\n if (!isFunction(instance)) return false;\n if (!instance.hasOwnProperty('prototype')) return false;\n return (value instanceof instance) ? true : false;\n\n}\n\n/**\n * checks whether the value passed is a array\n *\n * you can call the method via the monster namespace `Monster.Types.isArray()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isArray('2')) // ↦ false\n * console.log(Monster.Types.isArray([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isArray('2')) // ↦ false\n * console.log(isArray([])) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isArray(value) {\n if (Array.isArray(value)) {\n return true;\n }\n return false;\n}\n\n/**\n * checks whether the value passed is a function\n *\n * you can call the method via the monster namespace `Monster.Types.isFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isFunction(()=>{})) // ↦ true\n * console.log(Monster.Types.isFunction('2')) // ↦ false\n * console.log(Monster.Types.isFunction([])) // ↦ false\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isFunction(()=>{})) // ↦ true\n * console.log(isFunction('2')) // ↦ false\n * console.log(isFunction([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isFunction(value) {\n if (isArray(value)) return false;\n if (isPrimitive(value)) return false;\n\n if (typeof value === 'function') {\n return true;\n }\n\n return false;\n\n}\n\n/**\n * checks whether the value passed is an integer\n *\n * you can call the method via the monster namespace `Monster.Types.isFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isInteger(()=>{})) // ↦ true\n * console.log(Monster.Types.isInteger('2')) // ↦ false\n * console.log(Monster.Types.isInteger(2)) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isInteger(()=>{})) // ↦ true\n * console.log(isInteger('2')) // ↦ false\n * console.log(isInteger(2)) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isInteger(value) {\n return Number.isInteger(value);\n}\n\n\nMonster.assignToNamespace('Monster.Types', isPrimitive, isBoolean, isString, isObject, isArray, isFunction, isIterable, isInteger);\nexport {Monster, isPrimitive, isBoolean, isString, isObject, isInstance, isArray, isFunction, isIterable, isInteger}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {TokenList} from './tokenlist.js';\nimport {isObject} from './is.js';\nimport {Base} from './base.js';\nimport {UniqueQueue} from './uniquequeue.js';\n\n/**\n * An observer manages a callback function\n *\n * You can call the method via the monster namespace `new Monster.Types.Observer()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';\n * console.log(new Monster.Types.Observer())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';\n * console.log(new Observer())\n * </script>\n * ```\n *\n * The update method is called with the subject object as this pointer. For this reason the callback should not\n * be an arrow function, because it gets the this pointer of its own context.\n *\n * ```\n * <script>\n * new Observer(()=>{\n * // this is not subject\n * })\n *\n * new Observer(function() {\n * // this is subject\n * })\n * </script>\n * ```\n *\n * Additional arguments can be passed to the callback. To do this, simply specify them.\n *\n * ```\n * <script>\n * Observer(function(a, b, c) {\n * console.log(a, b, c); // ↦ \"a\", 2, true \n * }, \"a\", 2, true)\n * </script>\n * ```\n *\n * The callback function must have as many parameters as arguments are given.\n *\n * @example\n *\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';\n *\n * const observer = new Observer(function(a, b, c) {\n * console.log(this, a, b, c); // ↦ \"a\", 2, true \n * }, \"a\", 2, true);\n *\n * observer.update({value:true}).then(()=>{});\n * // ↦ {value: true} \"a\" 2 true\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Observer extends Base {\n\n /**\n *\n * @param {function} callback\n * @param {*} args\n */\n constructor(callback, ...args) {\n super();\n\n if (typeof callback !== 'function') {\n throw new Error(\"observer callback must be a function\")\n }\n\n this.callback = callback;\n this.arguments = args;\n this.tags = new TokenList;\n this.queue = new UniqueQueue();\n }\n\n /**\n *\n * @param {string} tag\n * @returns {Observer}\n */\n addTag(tag) {\n this.tags.add(tag);\n return this;\n }\n\n /**\n *\n * @param {string} tag\n * @returns {Observer}\n */\n removeTag(tag) {\n this.tags.remove(tag);\n return this;\n }\n\n /**\n *\n * @returns {Array}\n */\n getTags() {\n return this.tags.entries()\n }\n\n /**\n *\n * @param {string} tag\n * @returns {boolean}\n */\n hasTag(tag) {\n return this.tags.contains(tag)\n }\n\n /**\n *\n * @param {object} subject\n * @returns {Promise}\n */\n update(subject) {\n let self = this;\n\n return new Promise(function (resolve, reject) {\n if (!isObject(subject)) {\n reject(\"subject must be an object\");\n return;\n }\n\n self.queue.add(subject);\n\n setTimeout(() => {\n\n // the queue and the settimeout ensure that an object is not \n // informed of the same change more than once.\n if (self.queue.isEmpty()) {\n resolve();\n return;\n }\n\n let s = self.queue.poll();\n let result = self.callback.apply(s, self.arguments);\n\n if (isObject(result) && result instanceof Promise) {\n result.then(resolve).catch(reject);\n return;\n }\n\n resolve(result);\n }, 0)\n\n });\n\n };\n\n}\n\nMonster.assignToNamespace('Monster.Types', Observer);\nexport {Monster, Observer}\n\n\n\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {Observer} from \"./observer.js\";\nimport {validateInstance} from \"./validate.js\";\n\n/**\n * With the help of the ObserverList class, observer can be managed.\n *\n * You can call the method via the monster namespace `new Monster.Types.ObserverList()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';\n * console.log(new Monster.Types.ObserverList())\n * console.log(new Monster.Types.ObserverList())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';\n * console.log(ObserverList())\n * console.log(ObserverList())\n * </script>\n * ```\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ObserverList extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n this.observers = [];\n }\n\n /**\n *\n * @param {Observer} observer\n * @return {ObserverList}\n * @throws {TypeError} value is not an instance of Observer\n */\n attach(observer) {\n validateInstance(observer, Observer)\n\n this.observers.push(observer);\n return this;\n };\n\n /**\n *\n * @param {Observer} observer\n * @return {ObserverList}\n * @throws {TypeError} value is not an instance of Observer\n */\n detach(observer) {\n validateInstance(observer, Observer)\n\n var i = 0, l = this.observers.length;\n for (; i < l; i++) {\n if (this.observers[i] === observer) {\n this.observers.splice(i, 1);\n }\n }\n\n return this;\n };\n\n /**\n *\n * @param {Observer} observer\n * @return {boolean}\n * @throws {TypeError} value is not an instance of Observer\n */\n contains(observer) {\n validateInstance(observer, Observer)\n var i = 0, l = this.observers.length;\n for (; i < l; i++) {\n if (this.observers[i] === observer) {\n return true;\n }\n }\n return false;\n };\n\n /**\n *\n * @param subject\n * @return {Promise}\n */\n notify(subject) {\n\n let pomises = []\n\n var i = 0, l = this.observers.length;\n for (; i < l; i++) {\n pomises.push(this.observers[i].update(subject));\n }\n\n return Promise.all(pomises);\n };\n\n}\n\nMonster.assignToNamespace('Monster.Types', ObserverList);\nexport {Monster, ObserverList}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {validateObject} from \"./validate.js\";\nimport {ObserverList} from \"./observerlist.js\";\nimport {Observer} from \"./observer.js\";\nimport {isObject, isArray, isPrimitive} from \"./is.js\";\n\n/**\n * an observer manages a callback function\n *\n * you can call the method via the monster namespace `new Monster.Types.ProxyObserver()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';\n * console.log(new Monster.Types.ProxyObserver())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';\n * console.log(new ProxyObserver())\n * </script>\n * ```\n *\n * with the ProxyObserver you can attach observer for observation. with each change at the object to be observed an update takes place.\n *\n * this also applies to nested objects.\n *\n * @example \n *\n * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';\n * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * \n * const o = new Observer(function () { \n * if (isObject(this) && this instanceof ProxyObserver) {\n * // do something (this ist ProxyObserver)\n * const subject = this.getSubject();\n * console.log(subject);\n * }\n * });\n * \n * let realSubject = {\n * a: {\n * b: {\n * c: true\n * },\n * d: 9\n * }\n * }\n * \n * const p = new ProxyObserver(realSubject);\n * p.attachObserver(o);\n * const s = p.getSubject();\n * s.a.b.c = false;\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ProxyObserver extends Base {\n\n /**\n *\n * @param {object} object\n * @throws {TypeError} value is not a object\n */\n constructor(object) {\n super();\n validateObject(object);\n this.realSubject = object\n this.subject = new Proxy(object, getHandler.call(this));\n\n this.objectMap = new WeakMap();\n this.objectMap.set(this.realSubject, this.subject);\n\n this.observers = new ObserverList;\n }\n\n /**\n * get the real object\n *\n * changes to this object are not noticed by the observers, so you can make a large number of changes and inform the observers later.\n *\n * @returns {object}\n */\n getSubject() {\n return this.subject\n }\n\n /**\n * get the proxied object\n *\n * @returns {object}\n */\n getRealSubject() {\n return this.realSubject\n }\n\n /**\n * attach a new observer\n *\n * @param {Observer} observer\n * @returns {ProxyObserver}\n */\n attachObserver(observer) {\n this.observers.attach(observer)\n return this;\n }\n\n /**\n * detach a observer\n *\n * @param {Observer} observer\n * @returns {ProxyObserver}\n */\n detachObserver(observer) {\n this.observers.detach(observer)\n return this;\n }\n\n /**\n * notify all observer\n *\n * @returns {ProxyObserver}\n */\n notifyObservers() {\n this.observers.notify(this);\n return this;\n }\n\n /**\n * @param {Observer} observer\n * @returns {ProxyObserver}\n */\n containsObserver(observer) {\n return this.observers.contains(observer)\n }\n\n}\n\nMonster.assignToNamespace('Monster.Types', ProxyObserver);\nexport {Monster, ProxyObserver}\n\n/**\n *\n * @returns {{defineProperty: (function(*=, *=, *=): *), setPrototypeOf: (function(*, *=): boolean), set: (function(*, *, *, *): boolean), get: ((function(*=, *=, *=): (undefined))|*), deleteProperty: ((function(*, *): (boolean))|*)}}\n * @private\n * @see {@link https://gitlab.schukai.com/-/snippets/49}\n */\nfunction getHandler() {\n\n const proxy = this;\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots\n const handler = {\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\n get: function (target, key, receiver) {\n\n const value = Reflect.get(target, key, receiver);\n\n if (typeof key === \"symbol\") {\n return value;\n }\n\n if (isPrimitive(value)) {\n return value;\n }\n\n // set value as proxy if object or array\n if ((isArray(value) || isObject(value))) {\n if (proxy.objectMap.has(value)) {\n return proxy.objectMap.get(value);\n } else {\n let p = new Proxy(value, handler);\n proxy.objectMap.set(value, p);\n return p;\n }\n\n }\n\n return value;\n\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver \n set: function (target, key, value, receiver) {\n const result = Reflect.set(target, key, value, receiver);\n if (typeof property !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n return result;\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-delete-p\n deleteProperty: function (target, key) {\n if (key in target) {\n delete target[key];\n\n if (typeof key !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n\n return true;\n }\n return false;\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc\n defineProperty: function (target, key, descriptor) {\n let result = Reflect.defineProperty(target, key, descriptor);\n\n if (typeof key !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n\n return result;\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v\n setPrototypeOf: function (target, key) {\n let result = Reflect.setPrototypeOf(object1, key);\n\n if (typeof key !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n return result;\n }\n\n };\n\n\n return handler;\n}\n", - "import {Monster, Base} from './base.js';\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';\n * console.log(new Monster.Types.Queue())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';\n * console.log(new Queue())\n * </script>\n * ```\n * \n * @example\n *\n * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';\n *\n * const queue = new Queue;\n *\n * queue.add(2);\n * queue.add(true);\n * queue.add(\"Hello\");\n * queue.add(4.5);\n *\n * console.log(queue.poll());\n * // ↦ 2\n * console.log(queue.poll());\n * // ↦ true\n * console.log(queue.poll());\n * // ↦ \"Hello\"\n * console.log(queue.poll());\n * // ↦ 4.5\n * console.log(queue.poll());\n * // ↦ undefined\n *\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Queue extends Base { \n\n /**\n *\n */\n constructor() {\n super();\n this.data = [];\n }\n\n\n /**\n * @return {boolean}\n */\n isEmpty() {\n return this.data.length === 0;\n }\n\n /**\n * Read the element at the front of the queue without removing it.\n *\n * @return {*}\n */\n peek() {\n if (this.isEmpty()) {\n return undefined;\n }\n\n return this.data[0];\n }\n\n /**\n * Add a new element to the end of the queue.\n *\n * @param {*} value\n * @returns {Queue}\n */\n add(value) {\n this.data.push(value)\n return this;\n }\n\n /**\n * remove all entries\n *\n * @returns {Queue}\n */\n clear() {\n this.data = [];\n return this;\n }\n\n /**\n * Remove the element at the front of the queue\n * If the queue is empty, return undefined.\n *\n * @return {*}\n */\n poll() {\n if (this.isEmpty()) {\n return undefined;\n }\n return this.data.shift();\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Queue);\nexport {Monster, Queue}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, ID} from \"./id.js\";\nimport {getGlobal} from \"./global.js\";\nimport {random} from \"../math/random.js\";\n\n/**\n * @private\n * @type {number}\n */\nlet internalCounter = 0;\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.RandomID()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';\n * console.log(new Monster.Types.RandomID())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';\n * console.log(new RandomID())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass RandomID extends ID {\n\n /**\n * create new object\n */\n constructor() {\n super();\n\n internalCounter += 1;\n\n this.id = getGlobal().btoa(random(1, 10000))\n .replace(/=/g, '')\n /** No numbers at the beginning of the ID, because of possible problems with DOM */\n .replace(/^[0-9]+/, 'X') + internalCounter;\n }\n\n}\n\nMonster.assignToNamespace('Monster.Types', RandomID);\nexport {Monster, RandomID}\n", - "import {Monster, Base} from './base.js';\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';\n * console.log(new Monster.Types.Stack())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';\n * console.log(new Stack())\n * </script>\n * ```\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Stack extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n this.data = [];\n }\n\n\n /**\n * @return {boolean}\n */\n isEmpty() {\n return this.data.length === 0;\n }\n\n /**\n * looks at the object at the top of this stack without removing it from the stack.\n *\n * @return {*}\n */\n peek() {\n if (this.isEmpty()) {\n return undefined;\n }\n\n return this.data?.[this.data.length - 1];\n }\n\n /**\n * pushes an item onto the top of this stack.\n *\n * @param {*} value\n * @returns {Queue}\n */\n push(value) {\n this.data.push(value)\n return this;\n }\n\n /**\n * remove all entries\n *\n * @returns {Queue}\n */\n clear() {\n this.data = [];\n return this;\n }\n\n /**\n * removes the object at the top of this stack and returns\n * that object as the value of this function. is the stack empty\n * the return value is undefined.\n *\n * @return {*}\n */\n pop() {\n if (this.isEmpty()) {\n return undefined;\n }\n return this.data.pop();\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Stack);\nexport {Monster, Stack}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {isString, isIterable} from '../types/is.js';\nimport {validateString, validateFunction} from '../types/validate.js';\n\n/**\n * A tokenlist allows you to manage tokens (individual character strings such as css classes in an attribute string).\n *\n * The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list.\n *\n * You can call the method via the monster namespace `new Monster.Types.TokenList()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';\n * console.log(new Monster.Types.TokenList(\"myclass row\"))\n * console.log(new Monster.Types.TokenList(\"myclass row\"))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';\n * console.log(new TokenList(\"myclass row\"))\n * console.log(new TokenList(\"myclass row\"))\n * </script>\n * ```\n *\n * This class implements the [iteration protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).\n *\n * ```\n * console.log(typeof new TokenList(\"myclass row\")[Symbol.iterator]); // \"function\"\n * ```\n *\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass TokenList extends Base {\n\n /**\n *\n * @param {array|string|iteratable} init\n */\n constructor(init) {\n super();\n this.tokens = new Set();\n\n if (typeof init !== \"undefined\") {\n this.add(init);\n }\n\n }\n\n /**\n * Iterator protocol\n *\n * @returns {Symbol.iterator}\n */\n getIterator() {\n return this[Symbol.iterator]();\n }\n\n /**\n * Iterator\n *\n * @returns {{next: ((function(): ({value: *, done: boolean}))|*)}}\n */\n [Symbol.iterator]() {\n // Use a new index for each iterator. This makes multiple\n // iterations over the iterable safe for non-trivial cases,\n // such as use of break or nested looping over the same iterable.\n let index = 0;\n let entries = this.entries()\n\n return {\n next: () => {\n if (index < entries.length) {\n return {value: entries?.[index++], done: false}\n } else {\n return {done: true}\n }\n }\n }\n }\n\n /**\n * Returns true if it contains token, otherwise false\n *\n * ```\n * new TokenList(\"start middle end\").contains('start')); // ↦ true\n * new TokenList(\"start middle end\").contains('end')); // ↦ true\n * new TokenList(\"start middle end\").contains('xyz')); // ↦ false\n * new TokenList(\"start middle end\").contains(['end','start','middle'])); // ↦ true\n * new TokenList(\"start middle end\").contains(['end','start','xyz'])); // ↦ false\n * ```\n *\n * @param {array|string|iteratable} value\n * @returns {boolean}\n */\n contains(value) {\n if (isString(value)) {\n value = value.trim()\n let counter = 0;\n value.split(\" \").forEach(token => {\n if (this.tokens.has(token.trim()) === false) return false;\n counter++\n })\n return counter > 0 ? true : false;\n }\n\n if (isIterable(value)) {\n let counter = 0;\n for (let token of value) {\n validateString(token);\n if (this.tokens.has(token.trim()) === false) return false;\n counter++\n }\n return counter > 0 ? true : false;\n }\n\n return false;\n }\n\n /**\n * add tokens\n *\n * ```\n * new TokenList().add(\"abc xyz\").toString(); // ↦ \"abc xyz\"\n * new TokenList().add([\"abc\",\"xyz\"]).toString(); // ↦ \"abc xyz\"\n * new TokenList().add(undefined); // ↦ add nothing\n * ```\n *\n * @param {array|string|iteratable} value\n * @returns {TokenList}\n * @throws {TypeError} unsupported value\n */\n add(value) {\n if (isString(value)) {\n value.split(\" \").forEach(token => {\n this.tokens.add(token.trim());\n })\n } else if (isIterable(value)) {\n for (let token of value) {\n validateString(token);\n this.tokens.add(token.trim());\n }\n } else if (typeof value !== \"undefined\") {\n throw new TypeError(\"unsupported value\");\n }\n\n return this;\n }\n\n /**\n * remove all tokens\n *\n * @returns {TokenList}\n */\n clear() {\n this.tokens.clear();\n return this;\n }\n\n /**\n * Removes token\n *\n * ```\n * new TokenList(\"abc xyz\").remove(\"xyz\").toString(); // ↦ \"abc\"\n * new TokenList(\"abc xyz\").remove([\"xyz\"]).toString(); // ↦ \"abc\"\n * new TokenList(\"abc xyz\").remove(undefined); // ↦ remove nothing\n * ```\n *\n * @param {array|string|iteratable} value\n * @returns {TokenList}\n * @throws {TypeError} unsupported value\n */\n remove(value) {\n if (isString(value)) {\n value.split(\" \").forEach(token => {\n this.tokens.delete(token.trim());\n })\n } else if (isIterable(value)) {\n for (let token of value) {\n validateString(token);\n this.tokens.delete(token.trim());\n }\n } else if (typeof value !== \"undefined\") {\n throw new TypeError(\"unsupported value\");\n }\n\n return this;\n }\n\n /**\n * this method replaces a token with a new token.\n *\n * if the passed token exists, it is replaced with newToken and TokenList is returned.\n * if the token does not exist, newToken is not set and TokenList is returned.\n *\n * @param {string} token\n * @param {string} newToken\n * @returns {TokenList}\n */\n replace(token, newToken) {\n validateString(token);\n validateString(newToken);\n if (!this.contains(token)) {\n return this;\n }\n\n let a = Array.from(this.tokens)\n let i = a.indexOf(token);\n if (i === -1) return this;\n\n a.splice(i, 1, newToken);\n this.tokens = new Set();\n this.add(a);\n\n return this;\n\n\n }\n\n /**\n * Removes token from string. If token doesn't exist it's added.\n * \n * ```\n * new TokenList(\"abc def ghi\").toggle(\"def xyz\").toString(); // ↦ \"abc ghi xyz\"\n * new TokenList(\"abc def ghi\").toggle([\"abc\",\"xyz\"]).toString(); // ↦ \"def ghi xyz\"\n * new TokenList().toggle(undefined); // ↦ nothing\n * ```\n * \n * @param {array|string|iteratable} value\n * @returns {boolean}\n * @throws {TypeError} unsupported value\n */\n toggle(value) {\n\n if (isString(value)) {\n value.split(\" \").forEach(token => {\n toggleValue.call(this, token);\n })\n } else if (isIterable(value)) {\n for (let token of value) {\n toggleValue.call(this, token);\n }\n } else if (typeof value !== \"undefined\") {\n throw new TypeError(\"unsupported value\");\n }\n\n return this;\n\n }\n\n /**\n * returns an array with all tokens\n *\n * @returns {array}\n */\n entries() {\n return Array.from(this.tokens)\n }\n\n /**\n * executes the provided function with each value of the set\n *\n * @param {function} callback\n * @returns {TokenList}\n */\n forEach(callback) {\n validateFunction(callback);\n this.tokens.forEach(callback);\n return this;\n }\n\n /**\n * returns the individual tokens separated by a blank character\n *\n * @returns {string}\n */\n toString() {\n return this.entries().join(' ');\n }\n\n}\n\n/**\n * @private\n * @param token\n * @returns {toggleValue}\n * @throws {Error} must be called with TokenList.call\n */\nfunction toggleValue(token) {\n if (!(this instanceof TokenList)) throw Error(\"must be called with TokenList.call\")\n validateString(token);\n token = token.trim();\n if (this.contains(token)) {\n this.remove(token);\n return this;\n }\n this.add(token);\n return this;\n}\n\nMonster.assignToNamespace('Monster.Types', TokenList);\nexport {Monster, TokenList}\n", - "import {Monster, Queue} from \"./queue.js\";\nimport {validateObject} from \"./validate.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';\n * console.log(new Monster.Types.UniqueQueue())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';\n * console.log(new UniqueQueue())\n * </script>\n * ```\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass UniqueQueue extends Queue {\n\n /**\n *\n */\n constructor() {\n super();\n this.unique = new WeakSet();\n }\n\n /**\n * Add a new element to the end of the queue.\n *\n * @param {object} value\n * @returns {Queue}\n * @throws {TypeError} value is not a object\n */\n add(value) {\n \n validateObject(value);\n \n if (!this.unique.has(value)) {\n this.unique.add(value);\n super.add(value);\n }\n \n return this;\n }\n\n /**\n * remove all entries\n *\n * @returns {Queue}\n */\n clear() {\n super.clear();\n this.unique = new WeakSet;\n return this;\n }\n\n /**\n * Remove the element at the front of the queue\n * If the queue is empty, return undefined.\n *\n * @return {object}\n */\n poll() {\n\n if (this.isEmpty()) {\n return undefined;\n }\n let value = this.data.shift();\n this.unique.delete(value);\n return value;\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', UniqueQueue);\nexport {Monster, UniqueQueue}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {\n isPrimitive,\n isBoolean,\n isString,\n isObject,\n isArray,\n isFunction,\n isIterable,\n isInstance,\n isInteger\n} from './is.js';\n\n/**\n * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError\n * console.log(Monster.Types.validateIterable([])) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateIterable('2')) // ↦ TypeError\n * console.log(validateIterable([])) // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a primitive\n * @see {@link isPrimitive}\n * @see {@link Monster/Types/isPrimitive}\n * @see {@link Monster/Types#isPrimitive}\n */\nfunction validateIterable(value) {\n if (!isIterable(value)) {\n throw new TypeError('value is not iterable')\n }\n}\n\n/**\n * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined\n * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validatePrimitive('2')) // ↦ undefined\n * console.log(validatePrimitive([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a primitive\n * @see {@link isPrimitive}\n * @see {@link Monster/Types/isPrimitive}\n * @see {@link Monster/Types#isPrimitive}\n */\nfunction validatePrimitive(value) {\n if (!isPrimitive(value)) {\n throw new TypeError('value is not a primitive')\n }\n}\n\n/**\n * This method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateBoolean()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined\n * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError\n * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateBoolean(false)) // ↦ undefined\n * console.log(validateBoolean('2')) // ↦ TypeError\n * console.log(validateBoolean([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n\n * @throws {TypeError} value is not primitive\n */\nfunction validateBoolean(value) {\n if (!isBoolean(value)) {\n throw new TypeError('value is not a boolean')\n }\n}\n\n/**\n * This method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateString()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateString('2')) // ↦ undefined\n * console.log(Monster.Types.validateString([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateString('2')) // ↦ undefined\n * console.log(validateString([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a string\n */\nfunction validateString(value) {\n if (!isString(value)) {\n throw new TypeError('value is not a string')\n }\n}\n\n\n/**\n * This method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateObject({})) // ↦ undefined\n * console.log(Monster.Types.validateObject('2')) // ↦ TypeError\n * console.log(Monster.Types.validateObject([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateObject({})) // ↦ undefined\n * console.log(validateObject('2')) // ↦ TypeError\n * console.log(validateObject([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a object\n */\nfunction validateObject(value) {\n if (!isObject(value)) {\n throw new TypeError('value is not a object')\n }\n}\n\n/**\n * This method checks if the type matches the object instance.\n *\n * You can call the method via the monster namespace `Monster.Types.validateInstance()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined\n * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError\n * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateInstance({}, Object)) // ↦ undefined\n * console.log(validateInstance('2', Object)) // ↦ TypeError\n * console.log(validateInstance([], Object)) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an instance of\n */\nfunction validateInstance(value, instance) {\n if (!isInstance(value, instance)) {\n let n = \"\";\n if (isObject(instance) || isFunction(instance)) {\n n = instance?.['name']\n }\n\n if (n) {\n n = \" \" + n;\n }\n\n throw new TypeError('value is not an instance of' + n)\n }\n}\n\n/**\n * This method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateArray()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateArray('2')) // ↦ TypeError\n * console.log(Monster.Types.validateArray([])) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateArray('2')) // ↦ TypeError\n * console.log(validateArray([])) // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an array\n */\nfunction validateArray(value) {\n if (!isArray(value)) {\n throw new TypeError('value is not an array')\n }\n}\n\n/**\n * This method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined\n * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError\n * console.log(Monster.Types.validateFunction([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateFunction(()=>{})) // ↦ undefined\n * console.log(validateFunction('2')) // ↦ TypeError\n * console.log(validateFunction([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a function\n */\nfunction validateFunction(value) {\n if (!isFunction(value)) {\n throw new TypeError('value is not a function')\n }\n}\n\n/**\n * This method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateInteger()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError\n * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError\n * console.log(Monster.Types.validateInteger(2)) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateInteger(true)) // ↦ TypeError\n * console.log(validateInteger('2')) // ↦ TypeError\n * console.log(validateInteger(2)) // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an integer\n */\nfunction validateInteger(value) {\n if (!isInteger(value)) {\n throw new TypeError('value is not an integer')\n }\n}\n\nMonster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger);\nexport {\n Monster,\n validatePrimitive,\n validateBoolean,\n validateString,\n validateObject,\n validateInstance,\n validateArray,\n validateFunction,\n validateIterable,\n validateInteger\n}\n", - "'use strict';\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\n\n/**\n * The version object contains a sematic version number\n *\n * You can create the object via the monster namespace `new Monster.Types.Version()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';\n * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3\n * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this class individually.\n *\n * ```\n * <script type=\"module\">\n * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';\n * console.log(new Version('1.2.3')) // ↦ 1.2.3\n * console.log(new Version('1')) // ↦ 1.0.0\n * </script>\n * ```\n *\n * @example\n *\n * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';\n *\n * new Version('1.0.0') // ↦ 1.0.0\n * new Version(1) // ↦ 1.0.0\n * new Version(1, 0, 0) // ↦ 1.0.0\n * new Version('1.2.3', 4, 5) // ↦ 1.4.5\n *\n * @since 1.0.0\n * @author schukai GmbH\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Version extends Base {\n\n /**\n *\n * @param major\n * @param minor\n * @param patch\n * @throws {Error} major is not a number\n * @throws {Error} minor is not a number\n * @throws {Error} patch is not a number\n */\n constructor(major, minor, patch) {\n super();\n\n if (typeof major === 'string' && minor === undefined && patch === undefined) {\n\n let parts = major.toString().split('.');\n major = parseInt(parts[0] || 0);\n minor = parseInt(parts[1] || 0);\n patch = parseInt(parts[2] || 0);\n }\n\n if (major === undefined) {\n throw new Error(\"major version is undefined\");\n }\n\n if (minor === undefined) {\n minor = 0;\n }\n\n if (patch === undefined) {\n patch = 0;\n }\n\n this.major = parseInt(major);\n this.minor = parseInt(minor);\n this.patch = parseInt(patch);\n\n if (isNaN(this.major)) {\n throw new Error(\"major is not a number\");\n }\n\n if (isNaN(this.minor)) {\n throw new Error(\"minor is not a number\");\n }\n\n if (isNaN(this.patch)) {\n throw new Error(\"patch is not a number\");\n }\n\n }\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return this.major + '.' + this.minor + '.' + this.patch;\n }\n\n /**\n * returns 0 if equal, -1 if the object version is less and 1 if greater\n * then the compared version\n *\n * @param {string|Version} version Version to compare\n * @returns {number}\n */\n compareTo(version) {\n\n if (version instanceof Version) {\n version = version.toString();\n }\n\n if (typeof version !== 'string') {\n throw new Error(\"type exception\");\n }\n\n if (version === this.toString()) {\n return 0;\n }\n\n let a = [this.major, this.minor, this.patch];\n let b = version.split('.');\n let len = Math.max(a.length, b.length);\n\n for (let i = 0; i < len; i += 1) {\n if ((a[i] && !b[i] && parseInt(a[i]) > 0) || (parseInt(a[i]) > parseInt(b[i]))) {\n return 1;\n } else if ((b[i] && !a[i] && parseInt(b[i]) > 0) || (parseInt(a[i]) < parseInt(b[i]))) {\n return -1;\n }\n }\n\n return 0;\n };\n\n}\n\nMonster.assignToNamespace('Monster.Types', Version);\n\n\nlet monsterVersion;\n\n/**\n * Version of monster\n *\n * you can call the method via the monster namespace `Monster.getVersion()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';\n * console.log(Monster.getVersion())\n * console.log(Monster.getVersion())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';\n * console.log(getVersion())\n * console.log(getVersion())\n * </script>\n * ```\n *\n * @returns {Monster.Types.Version}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @author schukai GmbH\n * @memberOf Monster\n */\nfunction getVersion() {\n if (monsterVersion instanceof Version) {\n return monsterVersion;\n }\n /**#@+ dont touch, replaced by make with package.json version */\n monsterVersion = new Version('1.7.0')\n /**#@-*/\n return monsterVersion;\n\n}\n\nMonster.assignToNamespace('Monster', getVersion);\nexport {Monster, Version, getVersion}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {isObject, isFunction, isPrimitive, isArray} from '../types/is.js';\nimport {getGlobal} from '../types/global.js';\n\n\n/**\n * With this function, objects can be cloned.\n * The entire object tree is run through.\n *\n * Proxy, Element, HTMLDocument and DocumentFragment instances are not cloned.\n * Global objects such as windows are also not cloned,\n *\n * If an object has a method `getClone()`, this method is used to create the clone.\n *\n * You can call the method via the monster namespace `Monster.Util.clone()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';\n * console.log(Monster.Util.clone({}))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';\n * console.log(clone({}))\n * </script>\n * ```\n *\n * @param {*} obj object to be cloned\n * @returns {*}\n *\n * @since 1.0.0\n * @memberOf Monster/Util\n * @copyright schukai GmbH\n * @throws {Error} unable to clone obj! its type isn't supported.\n */\nfunction clone(obj) {\n\n // typeof null results in 'object'. https://2ality.com/2013/10/typeof-null.html\n if (null === obj) {\n return obj;\n }\n\n // Handle the two simple types, null and undefined\n if (isPrimitive(obj)) {\n return obj;\n }\n \n // Handle the two simple types, null and undefined\n if (isFunction(obj)) {\n return obj;\n }\n\n // Handle Array\n if (isArray(obj)) {\n let copy = [];\n for (var i = 0, len = obj.length; i < len; i++) {\n copy[i] = clone(obj[i]);\n }\n\n return copy;\n }\n\n if (isObject(obj)) {\n\n\n // Handle Date\n if (obj instanceof Date) {\n let copy = new Date();\n copy.setTime(obj.getTime());\n return copy;\n }\n\n /** Do not clone DOM nodes */\n if (typeof Element !== 'undefined' && obj instanceof Element) return obj;\n if (typeof HTMLDocument !== 'undefined' && obj instanceof HTMLDocument) return obj;\n if (typeof DocumentFragment !== 'undefined' && obj instanceof DocumentFragment) return obj;\n\n /** Do not clone global objects */\n if (obj === getGlobal()) return obj;\n if (typeof globalContext !== 'undefined' && obj === globalContext) return obj;\n if (typeof window !== 'undefined' && obj === window) return obj;\n if (typeof document !== 'undefined' && obj === document) return obj;\n if (typeof navigator !== 'undefined' && obj === navigator) return obj;\n if (typeof JSON !== 'undefined' && obj === JSON) return obj;\n\n // Handle Proxy-Object\n try {\n // try/catch because possible: TypeError: Function has non-object prototype 'undefined' in instanceof check\n if (obj instanceof Proxy) {\n return obj;\n }\n } catch (e) {\n }\n\n return cloneObject(obj)\n\n }\n\n throw new Error(\"unable to clone obj! its type isn't supported.\");\n}\n\n/**\n *\n * @param {object} obj\n * @returns {object}\n * @private\n */\nfunction cloneObject(obj) {\n var copy;\n\n /** Object has clone method */\n if (typeof obj.hasOwnProperty('getClone') && obj.getClone === 'function') {\n return obj.getClone();\n }\n\n copy = {};\n if (typeof obj.constructor === 'function' &&\n typeof obj.constructor.call === 'function') {\n copy = new obj.constructor();\n }\n\n for (let key in obj) {\n\n if (!obj.hasOwnProperty(key)) {\n continue;\n }\n\n if (Monster.Types.isPrimitive(obj[key])) {\n copy[key] = obj[key];\n continue;\n }\n\n copy[key] = clone(obj[key]);\n }\n\n return copy;\n}\n\nMonster.assignToNamespace('Monster.Util', clone);\nexport {Monster, clone}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {isFunction} from '../types/is.js';\n\n/**\n * The comparator allows a comparison function to be abstracted.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';\n * console.log(new Monster.Util.Comparator())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';\n * console.log(new Comparator())\n * </script>\n * ```\n *\n * The following are some examples of the application of the class.\n *\n * ```\n * new Comparator().lessThanOrEqual(2, 5) // ↦ true\n * new Comparator().greaterThan(4, 2) // ↦ true\n * new Comparator().equal(4, 4) // ↦ true\n * new Comparator().equal(4, 5) // ↦ false\n * ```\n *\n * You can also pass your own comparison function, and thus define the comparison function.\n *\n * ```\n * new Comparator(function (a, b) {\n * if (a.v === b.v) return 0;\n * return a.v < b.v ? -1 : 1;\n * }).equal({v: 2}, {v: 2}); // ↦ true\n * ```\n * \n * @example\n *\n * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';\n *\n * console.log(new Comparator().lessThanOrEqual(2, 5))\n * // ↦ true\n * console.log(new Comparator().greaterThan(4, 2))\n * // ↦ true\n * console.log(new Comparator().equal(4, 4))\n * // ↦ true\n * console.log(new Comparator().equal(4, 5))\n * // ↦ false\n *\n * @since 1.3.0\n * @memberOf Monster/Util\n */\nclass Comparator extends Base {\n\n /**\n * create new comparator\n *\n * @param {function} callback\n * @throw {TypeError} \"unsupported type\"\n * @throw {TypeError} \"impractical comparison\"\n */\n constructor(callback) {\n super();\n\n if (isFunction(callback)) {\n this.compare = callback\n } else if (callback !== undefined) {\n throw new TypeError(\"unsupported type\")\n } else {\n // default compare function\n this.compare = function (a, b) {\n\n if (typeof a !== typeof b) {\n throw new TypeError(\"impractical comparison\")\n }\n\n if (a === b) {\n return 0;\n }\n return a < b ? -1 : 1;\n };\n }\n\n }\n\n /**\n * changes the order of the operators\n *\n * @return {Comparator}\n */\n reverse() {\n const original = this.compare;\n this.compare = (a, b) => original(b, a);\n return this;\n }\n\n /**\n * Checks if two variables are equal.\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n equal(a, b) {\n return this.compare(a, b) === 0;\n }\n\n\n /**\n * Checks if variable `a` is greater than `b`\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n greaterThan(a, b) {\n return this.compare(a, b) > 0;\n }\n\n /**\n * Checks if variable `a` is greater than or equal to `b`\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n greaterThanOrEqual(a, b) {\n return this.greaterThan(a, b) || this.equal(a, b);\n }\n\n /**\n * Checks if variable `a` is less than or equal to `b`\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n lessThanOrEqual(a, b) {\n return this.lessThan(a, b) || this.equal(a, b);\n }\n\n /**\n * Checks if variable a is less than b\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n lessThan(a, b) {\n return this.compare(a, b) < 0;\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Util', Comparator);\nexport {Monster, Comparator}\n", - "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateObject} from '../types/validate.js';\n\n/**\n * Deep freeze a object\n *\n * You can call the method via the monster namespace `Monster.Util.deepFreeze()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js';\n * console.log(Monster.Util.deepFreeze({})) \n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js';\n * console.log(deepFreeze({})) \n * </script>\n * ```\n *\n * @param {object} obj object to be freeze\n * @since 1.0.0\n * @returns {object}\n * @memberOf Monster/Util\n * @copyright schukai GmbH\n * @throws {TypeError} value is not a object\n */\nfunction deepFreeze(object) {\n \n validateObject(object)\n\n // Retrieve the defined property names of the object\n var propNames = Object.getOwnPropertyNames(object);\n\n // Freeze properties before freezing yourself\n for (let name of propNames) {\n let value = object[name];\n\n object[name] = value && typeof value === \"object\" ?\n deepFreeze(value) : value;\n }\n\n return Object.freeze(object);\n}\n\nMonster.assignToNamespace('Monster.Util', deepFreeze);\nexport {Monster, deepFreeze}\n" + "'use strict';\n\n/**\n * @namespace Monster\n * @author schukai GmbH\n */\n\n\n/**\n * namespace class objects form the basic framework of the namespace administration.\n *\n * all functions, classes and objects of the library hang within the namespace tree.\n *\n * via `obj instanceof Monster.Namespace` it is also easy to check whether it is an object or a namespace.\n *\n * @memberOf Monster\n * @copyright schukai GmbH\n * @since 1.0.0\n */\nclass Namespace {\n\n /**\n *\n * @param namespace\n * @param obj\n */\n constructor(namespace) {\n if (namespace === undefined || typeof namespace !== 'string') {\n throw new Error(\"namespace is not a string\")\n }\n this.namespace = namespace;\n }\n\n /**\n *\n * @returns {string}\n */\n getNamespace() {\n return this.namespace;\n }\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return this.getNamespace();\n }\n}\n\n/**\n * @type {Namespace}\n * @global\n */\nexport const Monster = new Namespace(\"Monster\");\n\n\n/**\n *\n */\nassignToNamespace('Monster', assignToNamespace);\n\n/**\n * To expand monster, the `Monster.assignToNamespace()` method can be used. \n *\n * you must call the method in the monster namespace. this allows you to mount your own classes, objects and functions into the namespace.\n * \n * To avoid confusion and so that you do not accidentally overwrite existing functions, you should use the custom namespace `X`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js';\n * function hello() {\n * console.log('Hello World!');\n * }\n * Monster.assignToNamespace(\"Monster.X\",hello)\n * Monster.X.hello(); // ↦ Hello World!\n * </script>\n * \n * ```\n *\n * @param ns\n * @param obj\n * @memberOf Monster\n \n */\nfunction assignToNamespace(ns, ...obj) {\n let current = namespaceFor(ns.split(\".\"));\n\n for (let i = 0, l = obj.length; i < l; i++) {\n current[objectName(obj[i])] = obj[i];\n }\n}\n\n/**\n *\n * @param fn\n * @returns {string|*}\n * @private\n */\nfunction objectName(fn) {\n try {\n\n if (typeof fn !== 'function') {\n throw new Error(\"the first argument is not a function or class.\");\n }\n\n if (fn.hasOwnProperty('name')) {\n return fn.name;\n }\n\n if (\"function\" === typeof fn.toString) {\n let s = fn.toString();\n let f = s.match(/^\\s*function\\s+([^\\s(]+)/);\n if (Array.isArray(f) && typeof f[1] === 'string') {\n return f[1];\n }\n let c = s.match(/^\\s*class\\s+([^\\s(]+)/);\n if (Array.isArray(c) && typeof c[1] === 'string') {\n return c[1];\n }\n }\n\n } catch (e) {\n throw new Error(\"exception \" + e);\n }\n\n throw new Error(\"the name of the class or function cannot be resolved.\");\n}\n\n/**\n *\n * @param parts\n * @returns {Namespace}\n * @private\n */\nfunction namespaceFor(parts) {\n var space = Monster, ns = 'Monster';\n\n for (let i = 0; i < parts.length; i++) {\n\n if (\"Monster\" === parts[i]) {\n continue;\n }\n\n ns += '.' + parts[i];\n\n if (!space.hasOwnProperty(parts[i])) {\n space[parts[i]] = new Namespace(ns);\n }\n\n space = space[parts[i]];\n }\n\n return space;\n}\n\n\nexport {assignToNamespace}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\n\n\n/**\n * This is the base class from which all monster classes are derived.\n *\n * You can call the method via the monster namespace `new Monster.Types.Base()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';\n * console.log(new Monster.Types.Base())\n * console.log(new Monster.Types.Base())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';\n * console.log(new Base())\n * console.log(new Base())\n * </script>\n * ```\n *\n * The class was formerly called Object.\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Base extends Object {\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return JSON.stringify(this);\n };\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Base);\nexport {Monster, Base}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateFunction, validateString, validateObject} from \"./validate.js\";\n\n/**\n * @type {objec}\n * @private\n */\nvar globalReference;\n\n/**\n * @private\n */\n(function () {\n if (typeof globalThis === 'object') {\n globalReference = globalThis;\n return;\n }\n\n Object.defineProperty(Object.prototype, '__monster__', {\n get: function () {\n return this;\n },\n configurable: true\n });\n\n __monster__.globalThis = __monster__;\n delete Object.prototype.__monster__;\n\n globalReference = globalThis;\n\n}());\n\n/**\n * Return globalThis\n *\n * If globalThis is not available, it will be polyfilled\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @returns {objec} globalThis\n */\nfunction getGlobal() {\n return globalReference;\n}\n\n/**\n * Return global object or throw Error\n *\n * You can call the method via the monster namespace `Monster.Types.getGlobalObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';\n * console.log(Monster.Types.getGlobalObject('document')) // ↦ { }\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';\n * console.log(getGlobalObject('document')) // ↦ { }\n * </script>\n * ```\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @param {string} name\n * @returns {objec}\n * @throws {Error} the object is not defined\n * @throws {TypeError} value is not a object\n * @throws {TypeError} value is not a string\n */\nfunction getGlobalObject(name) {\n validateString(name);\n let o = globalReference?.[name];\n if (typeof o === 'undefined') throw new Error('the object ' + name + ' is not defined');\n validateObject(o);\n return o;\n}\n\n/**\n * Return global function or throw Error\n *\n * You can call the method via the monster namespace `Monster.Types.getGlobalFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';\n * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { }\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';\n * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }\n * </script>\n * ```\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @param {string} name\n * @returns {objec}\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n * @throws {TypeError} value is not a string\n */\nfunction getGlobalFunction(name) {\n validateString(name);\n let f = globalReference?.[name];\n if (typeof f === 'undefined') throw new Error('the function ' + name + ' is not defined');\n validateFunction(f);\n return f;\n}\n\n\nMonster.assignToNamespace('Monster.Types', getGlobal, getGlobalObject, getGlobalFunction);\nexport {Monster, getGlobal, getGlobalObject, getGlobalFunction}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from './base.js';\nimport {validateString} from \"./validate.js\";\n\n/**\n * @private\n * @type {Map<string, integer>}\n */\nlet internalCounter = new Map;\n\n/**\n * With the id class, sequences of ids can be created. for this purpose, an internal counter is incremented for each prefix.\n * thus, the first id with the prefix `myid` will be `myid1` and the second id `myid2`.\n * The ids are the same for every call, for example on a web page.\n *\n * So the ids can also be used for navigation. you just have to take care that the order stays the same.\n *\n * You can call the method via the monster namespace `new Monster.Types.ID()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';\n * console.log(new Monster.Types.ID())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';\n * console.log(new ID())\n * </script>\n * ```\n *\n * As of version 1.6.0 there is the new RandomID. this ID class is continuous from now on.\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ID extends Base {\n\n /**\n * create new object\n */\n constructor(prefix) {\n super();\n\n if (prefix === undefined) {\n prefix = \"id\";\n }\n\n validateString(prefix);\n\n if (!internalCounter.has(prefix)) {\n internalCounter.set(prefix, 1);\n }\n\n let count = internalCounter.get(prefix);\n this.id = prefix + count;\n\n internalCounter.set(prefix, ++count);\n }\n\n /**\n * @return {string}\n */\n toString() {\n return this.id;\n }\n\n}\n\nMonster.assignToNamespace('Monster.Types', ID);\nexport {Monster, ID}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\n\n/**\n * With this function you can check if a value is iterable\n *\n * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isIterable(null)) // ↦ false\n * console.log(Monster.Types.isIterable('hello')) // ↦ true\n * console.log(Monster.Types.isIterable([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isIterable(null)) // ↦ false\n * console.log(isIterable('hello')) // ↦ true\n * console.log(isIterable([])) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isIterable(value) {\n if (value === undefined) return false;\n if (value === null) return false;\n return typeof value?.[Symbol.iterator] === 'function';\n}\n\n\n/**\n * Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)\n *\n * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isPrimitive('2')) // ↦ false\n * console.log(Monster.Types.isPrimitive([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isPrimitive('2')) // ↦ true\n * console.log(isPrimitive([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isPrimitive(value) {\n var type;\n\n if (value === undefined || value === null || value === NaN) {\n return true;\n }\n\n type = typeof value;\n\n if (type === 'string' || type === 'number' || type === 'boolean' || type === 'symbol') {\n return true;\n }\n\n return false;\n}\n\n/**\n * Checks whether the value passed is a boolean\n *\n * You can call the method via the monster namespace `Monster.Types.isBoolean()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isBoolean('2')) // ↦ false\n * console.log(Monster.Types.isBoolean([])) // ↦ false\n * console.log(Monster.Types.isBoolean(true)) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isBoolean('2')) // ↦ false\n * console.log(isBoolean([])) // ↦ false\n * console.log(isBoolean(2>4)) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isBoolean(value) {\n\n if (value === true || value === false) {\n return true;\n }\n\n return false;\n}\n\n/**\n * checks whether the value passed is a string\n *\n * you can call the method via the monster namespace `Monster.Types.isString()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isString('2')) // ↦ true\n * console.log(Monster.Types.isString([])) // ↦ false\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isString('2')) // ↦ true\n * console.log(isString([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isString(value) {\n if (value === undefined || typeof value !== 'string') {\n return false;\n }\n return true;\n}\n\n/**\n * checks whether the value passed is a object\n *\n * you can call the method via the monster namespace `Monster.Types.isObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isObject('2')) // ↦ false\n * console.log(Monster.Types.isObject([])) // ↦ false\n * console.log(Monster.Types.isObject({})) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isObject('2')) // ↦ false\n * console.log(isObject([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isObject(value) {\n\n if (isArray(value)) return false;\n if (isPrimitive(value)) return false;\n\n if (typeof value === 'object') {\n return true;\n }\n\n return false;\n}\n\n/**\n * checks whether the value passed is a object and instance of instance\n *\n * you can call the method via the monster namespace `Monster.Types.isInstance()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isInstance('2')) // ↦ false\n * console.log(Monster.Types.isInstance([])) // ↦ false\n * console.log(Monster.Types.isInstance({})) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isInstance('2')) // ↦ false\n * console.log(isInstance([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @param {*} instance\n * @returns {boolean}\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isInstance(value, instance) {\n\n if (!isObject(value)) return false;\n if (!isFunction(instance)) return false;\n if (!instance.hasOwnProperty('prototype')) return false;\n return (value instanceof instance) ? true : false;\n\n}\n\n/**\n * checks whether the value passed is a array\n *\n * you can call the method via the monster namespace `Monster.Types.isArray()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isArray('2')) // ↦ false\n * console.log(Monster.Types.isArray([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isArray('2')) // ↦ false\n * console.log(isArray([])) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isArray(value) {\n if (Array.isArray(value)) {\n return true;\n }\n return false;\n}\n\n/**\n * checks whether the value passed is a function\n *\n * you can call the method via the monster namespace `Monster.Types.isFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isFunction(()=>{})) // ↦ true\n * console.log(Monster.Types.isFunction('2')) // ↦ false\n * console.log(Monster.Types.isFunction([])) // ↦ false\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isFunction(()=>{})) // ↦ true\n * console.log(isFunction('2')) // ↦ false\n * console.log(isFunction([])) // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isFunction(value) {\n if (isArray(value)) return false;\n if (isPrimitive(value)) return false;\n\n if (typeof value === 'function') {\n return true;\n }\n\n return false;\n\n}\n\n/**\n * checks whether the value passed is an integer\n *\n * you can call the method via the monster namespace `Monster.Types.isFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isInteger(()=>{})) // ↦ true\n * console.log(Monster.Types.isInteger('2')) // ↦ false\n * console.log(Monster.Types.isInteger(2)) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isInteger(()=>{})) // ↦ true\n * console.log(isInteger('2')) // ↦ false\n * console.log(isInteger(2)) // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isInteger(value) {\n return Number.isInteger(value);\n}\n\n\nMonster.assignToNamespace('Monster.Types', isPrimitive, isBoolean, isString, isObject, isArray, isFunction, isIterable, isInteger);\nexport {Monster, isPrimitive, isBoolean, isString, isObject, isInstance, isArray, isFunction, isIterable, isInteger}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {TokenList} from './tokenlist.js';\nimport {isObject} from './is.js';\nimport {Base} from './base.js';\nimport {UniqueQueue} from './uniquequeue.js';\n\n/**\n * An observer manages a callback function\n *\n * You can call the method via the monster namespace `new Monster.Types.Observer()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n * console.log(new Monster.Types.Observer())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n * console.log(new Observer())\n * </script>\n * ```\n *\n * The update method is called with the subject object as this pointer. For this reason the callback should not\n * be an arrow function, because it gets the this pointer of its own context.\n *\n * ```\n * <script>\n * new Observer(()=>{\n * // this is not subject\n * })\n *\n * new Observer(function() {\n * // this is subject\n * })\n * </script>\n * ```\n *\n * Additional arguments can be passed to the callback. To do this, simply specify them.\n *\n * ```\n * <script>\n * Observer(function(a, b, c) {\n * console.log(a, b, c); // ↦ \"a\", 2, true \n * }, \"a\", 2, true)\n * </script>\n * ```\n *\n * The callback function must have as many parameters as arguments are given.\n *\n * @example\n *\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n *\n * const observer = new Observer(function(a, b, c) {\n * console.log(this, a, b, c); // ↦ \"a\", 2, true \n * }, \"a\", 2, true);\n *\n * observer.update({value:true}).then(()=>{});\n * // ↦ {value: true} \"a\" 2 true\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Observer extends Base {\n\n /**\n *\n * @param {function} callback\n * @param {*} args\n */\n constructor(callback, ...args) {\n super();\n\n if (typeof callback !== 'function') {\n throw new Error(\"observer callback must be a function\")\n }\n\n this.callback = callback;\n this.arguments = args;\n this.tags = new TokenList;\n this.queue = new UniqueQueue();\n }\n\n /**\n *\n * @param {string} tag\n * @returns {Observer}\n */\n addTag(tag) {\n this.tags.add(tag);\n return this;\n }\n\n /**\n *\n * @param {string} tag\n * @returns {Observer}\n */\n removeTag(tag) {\n this.tags.remove(tag);\n return this;\n }\n\n /**\n *\n * @returns {Array}\n */\n getTags() {\n return this.tags.entries()\n }\n\n /**\n *\n * @param {string} tag\n * @returns {boolean}\n */\n hasTag(tag) {\n return this.tags.contains(tag)\n }\n\n /**\n *\n * @param {object} subject\n * @returns {Promise}\n */\n update(subject) {\n let self = this;\n\n return new Promise(function (resolve, reject) {\n if (!isObject(subject)) {\n reject(\"subject must be an object\");\n return;\n }\n\n self.queue.add(subject);\n\n setTimeout(() => {\n\n try {\n // the queue and the settimeout ensure that an object is not \n // informed of the same change more than once.\n if (self.queue.isEmpty()) {\n resolve();\n return;\n }\n\n let s = self.queue.poll();\n let result = self.callback.apply(s, self.arguments);\n\n if (isObject(result) && result instanceof Promise) {\n result.then(resolve).catch(reject);\n return;\n }\n\n resolve(result);\n\n } catch (e) {\n reject(e);\n }\n }, 0)\n\n });\n\n };\n\n}\n\nMonster.assignToNamespace('Monster.Types', Observer);\nexport {Monster, Observer}\n\n\n\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {Observer} from \"./observer.js\";\nimport {validateInstance} from \"./validate.js\";\n\n/**\n * With the help of the ObserverList class, observer can be managed.\n *\n * You can call the method via the monster namespace `new Monster.Types.ObserverList()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';\n * console.log(new Monster.Types.ObserverList())\n * console.log(new Monster.Types.ObserverList())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';\n * console.log(ObserverList())\n * console.log(ObserverList())\n * </script>\n * ```\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ObserverList extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n this.observers = [];\n }\n\n /**\n *\n * @param {Observer} observer\n * @return {ObserverList}\n * @throws {TypeError} value is not an instance of Observer\n */\n attach(observer) {\n validateInstance(observer, Observer)\n\n this.observers.push(observer);\n return this;\n };\n\n /**\n *\n * @param {Observer} observer\n * @return {ObserverList}\n * @throws {TypeError} value is not an instance of Observer\n */\n detach(observer) {\n validateInstance(observer, Observer)\n\n var i = 0, l = this.observers.length;\n for (; i < l; i++) {\n if (this.observers[i] === observer) {\n this.observers.splice(i, 1);\n }\n }\n\n return this;\n };\n\n /**\n *\n * @param {Observer} observer\n * @return {boolean}\n * @throws {TypeError} value is not an instance of Observer\n */\n contains(observer) {\n validateInstance(observer, Observer)\n var i = 0, l = this.observers.length;\n for (; i < l; i++) {\n if (this.observers[i] === observer) {\n return true;\n }\n }\n return false;\n };\n\n /**\n *\n * @param subject\n * @return {Promise}\n */\n notify(subject) {\n\n let pomises = []\n\n var i = 0, l = this.observers.length;\n for (; i < l; i++) {\n pomises.push(this.observers[i].update(subject));\n }\n\n return Promise.all(pomises);\n };\n\n}\n\nMonster.assignToNamespace('Monster.Types', ObserverList);\nexport {Monster, ObserverList}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {validateObject} from \"./validate.js\";\nimport {ObserverList} from \"./observerlist.js\";\nimport {Observer} from \"./observer.js\";\nimport {isObject, isArray, isPrimitive} from \"./is.js\";\n\n/**\n * An observer manages a callback function\n *\n * You can call the method via the monster namespace `new Monster.Types.ProxyObserver()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';\n * console.log(new Monster.Types.ProxyObserver())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';\n * console.log(new ProxyObserver())\n * </script>\n * ```\n *\n * with the ProxyObserver you can attach observer for observation. with each change at the object to be observed an update takes place.\n *\n * this also applies to nested objects.\n *\n * @example \n *\n * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * \n * const o = new Observer(function () { \n * if (isObject(this) && this instanceof ProxyObserver) {\n * // do something (this ist ProxyObserver)\n * const subject = this.getSubject();\n * console.log(subject);\n * }\n * });\n * \n * let realSubject = {\n * a: {\n * b: {\n * c: true\n * },\n * d: 9\n * }\n * }\n * \n * const p = new ProxyObserver(realSubject);\n * p.attachObserver(o);\n * const s = p.getSubject();\n * s.a.b.c = false;\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ProxyObserver extends Base {\n\n /**\n *\n * @param {object} object\n * @throws {TypeError} value is not a object\n */\n constructor(object) {\n super();\n validateObject(object);\n this.realSubject = object\n this.subject = new Proxy(object, getHandler.call(this));\n\n this.objectMap = new WeakMap();\n this.objectMap.set(this.realSubject, this.subject);\n\n this.observers = new ObserverList;\n }\n\n /**\n * get the real object\n *\n * changes to this object are not noticed by the observers, so you can make a large number of changes and inform the observers later.\n *\n * @returns {object}\n */\n getSubject() {\n return this.subject\n }\n\n /**\n * get the proxied object\n *\n * @returns {object}\n */\n getRealSubject() {\n return this.realSubject\n }\n\n /**\n * attach a new observer\n *\n * @param {Observer} observer\n * @returns {ProxyObserver}\n */\n attachObserver(observer) {\n this.observers.attach(observer)\n return this;\n }\n\n /**\n * detach a observer\n *\n * @param {Observer} observer\n * @returns {ProxyObserver}\n */\n detachObserver(observer) {\n this.observers.detach(observer)\n return this;\n }\n\n /**\n * notify all observer\n *\n * @returns {Promise}\n */\n notifyObservers() {\n return this.observers.notify(this);\n }\n\n /**\n * @param {Observer} observer\n * @returns {ProxyObserver}\n */\n containsObserver(observer) {\n return this.observers.contains(observer)\n }\n\n}\n\nMonster.assignToNamespace('Monster.Types', ProxyObserver);\nexport {Monster, ProxyObserver}\n\n/**\n *\n * @returns {{defineProperty: (function(*=, *=, *=): *), setPrototypeOf: (function(*, *=): boolean), set: (function(*, *, *, *): boolean), get: ((function(*=, *=, *=): (undefined))|*), deleteProperty: ((function(*, *): (boolean))|*)}}\n * @private\n * @see {@link https://gitlab.schukai.com/-/snippets/49}\n */\nfunction getHandler() {\n\n const proxy = this;\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots\n const handler = {\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\n get: function (target, key, receiver) {\n\n const value = Reflect.get(target, key, receiver);\n\n if (typeof key === \"symbol\") {\n return value;\n }\n\n if (isPrimitive(value)) {\n return value;\n }\n\n // set value as proxy if object or array\n if ((isArray(value) || isObject(value))) {\n if (proxy.objectMap.has(value)) {\n return proxy.objectMap.get(value);\n } else {\n let p = new Proxy(value, handler);\n proxy.objectMap.set(value, p);\n return p;\n }\n\n }\n\n return value;\n\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver \n set: function (target, key, value, receiver) {\n const result = Reflect.set(target, key, value, receiver);\n if (typeof property !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n return result;\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-delete-p\n deleteProperty: function (target, key) {\n if (key in target) {\n delete target[key];\n\n if (typeof key !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n\n return true;\n }\n return false;\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc\n defineProperty: function (target, key, descriptor) {\n let result = Reflect.defineProperty(target, key, descriptor);\n\n if (typeof key !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n\n return result;\n },\n\n // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v\n setPrototypeOf: function (target, key) {\n let result = Reflect.setPrototypeOf(object1, key);\n\n if (typeof key !== \"symbol\") {\n proxy.observers.notify(proxy);\n }\n\n return result;\n }\n\n };\n\n\n return handler;\n}\n", + "import {Monster, Base} from './base.js';\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';\n * console.log(new Monster.Types.Queue())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';\n * console.log(new Queue())\n * </script>\n * ```\n * \n * @example\n *\n * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';\n *\n * const queue = new Queue;\n *\n * queue.add(2);\n * queue.add(true);\n * queue.add(\"Hello\");\n * queue.add(4.5);\n *\n * console.log(queue.poll());\n * // ↦ 2\n * console.log(queue.poll());\n * // ↦ true\n * console.log(queue.poll());\n * // ↦ \"Hello\"\n * console.log(queue.poll());\n * // ↦ 4.5\n * console.log(queue.poll());\n * // ↦ undefined\n *\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Queue extends Base { \n\n /**\n *\n */\n constructor() {\n super();\n this.data = [];\n }\n\n\n /**\n * @return {boolean}\n */\n isEmpty() {\n return this.data.length === 0;\n }\n\n /**\n * Read the element at the front of the queue without removing it.\n *\n * @return {*}\n */\n peek() {\n if (this.isEmpty()) {\n return undefined;\n }\n\n return this.data[0];\n }\n\n /**\n * Add a new element to the end of the queue.\n *\n * @param {*} value\n * @returns {Queue}\n */\n add(value) {\n this.data.push(value)\n return this;\n }\n\n /**\n * remove all entries\n *\n * @returns {Queue}\n */\n clear() {\n this.data = [];\n return this;\n }\n\n /**\n * Remove the element at the front of the queue\n * If the queue is empty, return undefined.\n *\n * @return {*}\n */\n poll() {\n if (this.isEmpty()) {\n return undefined;\n }\n return this.data.shift();\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Queue);\nexport {Monster, Queue}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, ID} from \"./id.js\";\nimport {getGlobal} from \"./global.js\";\nimport {random} from \"../math/random.js\";\n\n/**\n * @private\n * @type {number}\n */\nlet internalCounter = 0;\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.RandomID()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';\n * console.log(new Monster.Types.RandomID())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';\n * console.log(new RandomID())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass RandomID extends ID {\n\n /**\n * create new object\n */\n constructor() {\n super();\n\n internalCounter += 1;\n\n this.id = getGlobal().btoa(random(1, 10000))\n .replace(/=/g, '')\n /** No numbers at the beginning of the ID, because of possible problems with DOM */\n .replace(/^[0-9]+/, 'X') + internalCounter;\n }\n\n}\n\nMonster.assignToNamespace('Monster.Types', RandomID);\nexport {Monster, RandomID}\n", + "import {Monster, Base} from './base.js';\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';\n * console.log(new Monster.Types.Stack())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';\n * console.log(new Stack())\n * </script>\n * ```\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Stack extends Base {\n\n /**\n *\n */\n constructor() {\n super();\n this.data = [];\n }\n\n\n /**\n * @return {boolean}\n */\n isEmpty() {\n return this.data.length === 0;\n }\n\n /**\n * looks at the object at the top of this stack without removing it from the stack.\n *\n * @return {*}\n */\n peek() {\n if (this.isEmpty()) {\n return undefined;\n }\n\n return this.data?.[this.data.length - 1];\n }\n\n /**\n * pushes an item onto the top of this stack.\n *\n * @param {*} value\n * @returns {Queue}\n */\n push(value) {\n this.data.push(value)\n return this;\n }\n\n /**\n * remove all entries\n *\n * @returns {Queue}\n */\n clear() {\n this.data = [];\n return this;\n }\n\n /**\n * removes the object at the top of this stack and returns\n * that object as the value of this function. is the stack empty\n * the return value is undefined.\n *\n * @return {*}\n */\n pop() {\n if (this.isEmpty()) {\n return undefined;\n }\n return this.data.pop();\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Stack);\nexport {Monster, Stack}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {isString, isIterable} from '../types/is.js';\nimport {validateString, validateFunction} from '../types/validate.js';\n\n/**\n * A tokenlist allows you to manage tokens (individual character strings such as css classes in an attribute string).\n *\n * The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list.\n *\n * You can call the method via the monster namespace `new Monster.Types.TokenList()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';\n * console.log(new Monster.Types.TokenList(\"myclass row\"))\n * console.log(new Monster.Types.TokenList(\"myclass row\"))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';\n * console.log(new TokenList(\"myclass row\"))\n * console.log(new TokenList(\"myclass row\"))\n * </script>\n * ```\n *\n * This class implements the [iteration protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).\n *\n * ```\n * console.log(typeof new TokenList(\"myclass row\")[Symbol.iterator]); // \"function\"\n * ```\n *\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass TokenList extends Base {\n\n /**\n *\n * @param {array|string|iteratable} init\n */\n constructor(init) {\n super();\n this.tokens = new Set();\n\n if (typeof init !== \"undefined\") {\n this.add(init);\n }\n\n }\n\n /**\n * Iterator protocol\n *\n * @returns {Symbol.iterator}\n */\n getIterator() {\n return this[Symbol.iterator]();\n }\n\n /**\n * Iterator\n *\n * @returns {{next: ((function(): ({value: *, done: boolean}))|*)}}\n */\n [Symbol.iterator]() {\n // Use a new index for each iterator. This makes multiple\n // iterations over the iterable safe for non-trivial cases,\n // such as use of break or nested looping over the same iterable.\n let index = 0;\n let entries = this.entries()\n\n return {\n next: () => {\n if (index < entries.length) {\n return {value: entries?.[index++], done: false}\n } else {\n return {done: true}\n }\n }\n }\n }\n\n /**\n * Returns true if it contains token, otherwise false\n *\n * ```\n * new TokenList(\"start middle end\").contains('start')); // ↦ true\n * new TokenList(\"start middle end\").contains('end')); // ↦ true\n * new TokenList(\"start middle end\").contains('xyz')); // ↦ false\n * new TokenList(\"start middle end\").contains(['end','start','middle'])); // ↦ true\n * new TokenList(\"start middle end\").contains(['end','start','xyz'])); // ↦ false\n * ```\n *\n * @param {array|string|iteratable} value\n * @returns {boolean}\n */\n contains(value) {\n if (isString(value)) {\n value = value.trim()\n let counter = 0;\n value.split(\" \").forEach(token => {\n if (this.tokens.has(token.trim()) === false) return false;\n counter++\n })\n return counter > 0 ? true : false;\n }\n\n if (isIterable(value)) {\n let counter = 0;\n for (let token of value) {\n validateString(token);\n if (this.tokens.has(token.trim()) === false) return false;\n counter++\n }\n return counter > 0 ? true : false;\n }\n\n return false;\n }\n\n /**\n * add tokens\n *\n * ```\n * new TokenList().add(\"abc xyz\").toString(); // ↦ \"abc xyz\"\n * new TokenList().add([\"abc\",\"xyz\"]).toString(); // ↦ \"abc xyz\"\n * new TokenList().add(undefined); // ↦ add nothing\n * ```\n *\n * @param {array|string|iteratable} value\n * @returns {TokenList}\n * @throws {TypeError} unsupported value\n */\n add(value) {\n if (isString(value)) {\n value.split(\" \").forEach(token => {\n this.tokens.add(token.trim());\n })\n } else if (isIterable(value)) {\n for (let token of value) {\n validateString(token);\n this.tokens.add(token.trim());\n }\n } else if (typeof value !== \"undefined\") {\n throw new TypeError(\"unsupported value\");\n }\n\n return this;\n }\n\n /**\n * remove all tokens\n *\n * @returns {TokenList}\n */\n clear() {\n this.tokens.clear();\n return this;\n }\n\n /**\n * Removes token\n *\n * ```\n * new TokenList(\"abc xyz\").remove(\"xyz\").toString(); // ↦ \"abc\"\n * new TokenList(\"abc xyz\").remove([\"xyz\"]).toString(); // ↦ \"abc\"\n * new TokenList(\"abc xyz\").remove(undefined); // ↦ remove nothing\n * ```\n *\n * @param {array|string|iteratable} value\n * @returns {TokenList}\n * @throws {TypeError} unsupported value\n */\n remove(value) {\n if (isString(value)) {\n value.split(\" \").forEach(token => {\n this.tokens.delete(token.trim());\n })\n } else if (isIterable(value)) {\n for (let token of value) {\n validateString(token);\n this.tokens.delete(token.trim());\n }\n } else if (typeof value !== \"undefined\") {\n throw new TypeError(\"unsupported value\");\n }\n\n return this;\n }\n\n /**\n * this method replaces a token with a new token.\n *\n * if the passed token exists, it is replaced with newToken and TokenList is returned.\n * if the token does not exist, newToken is not set and TokenList is returned.\n *\n * @param {string} token\n * @param {string} newToken\n * @returns {TokenList}\n */\n replace(token, newToken) {\n validateString(token);\n validateString(newToken);\n if (!this.contains(token)) {\n return this;\n }\n\n let a = Array.from(this.tokens)\n let i = a.indexOf(token);\n if (i === -1) return this;\n\n a.splice(i, 1, newToken);\n this.tokens = new Set();\n this.add(a);\n\n return this;\n\n\n }\n\n /**\n * Removes token from string. If token doesn't exist it's added.\n * \n * ```\n * new TokenList(\"abc def ghi\").toggle(\"def xyz\").toString(); // ↦ \"abc ghi xyz\"\n * new TokenList(\"abc def ghi\").toggle([\"abc\",\"xyz\"]).toString(); // ↦ \"def ghi xyz\"\n * new TokenList().toggle(undefined); // ↦ nothing\n * ```\n * \n * @param {array|string|iteratable} value\n * @returns {boolean}\n * @throws {TypeError} unsupported value\n */\n toggle(value) {\n\n if (isString(value)) {\n value.split(\" \").forEach(token => {\n toggleValue.call(this, token);\n })\n } else if (isIterable(value)) {\n for (let token of value) {\n toggleValue.call(this, token);\n }\n } else if (typeof value !== \"undefined\") {\n throw new TypeError(\"unsupported value\");\n }\n\n return this;\n\n }\n\n /**\n * returns an array with all tokens\n *\n * @returns {array}\n */\n entries() {\n return Array.from(this.tokens)\n }\n\n /**\n * executes the provided function with each value of the set\n *\n * @param {function} callback\n * @returns {TokenList}\n */\n forEach(callback) {\n validateFunction(callback);\n this.tokens.forEach(callback);\n return this;\n }\n\n /**\n * returns the individual tokens separated by a blank character\n *\n * @returns {string}\n */\n toString() {\n return this.entries().join(' ');\n }\n\n}\n\n/**\n * @private\n * @param token\n * @returns {toggleValue}\n * @throws {Error} must be called with TokenList.call\n */\nfunction toggleValue(token) {\n if (!(this instanceof TokenList)) throw Error(\"must be called with TokenList.call\")\n validateString(token);\n token = token.trim();\n if (this.contains(token)) {\n this.remove(token);\n return this;\n }\n this.add(token);\n return this;\n}\n\nMonster.assignToNamespace('Monster.Types', TokenList);\nexport {Monster, TokenList}\n", + "import {Monster, Queue} from \"./queue.js\";\nimport {validateObject} from \"./validate.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';\n * console.log(new Monster.Types.UniqueQueue())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';\n * console.log(new UniqueQueue())\n * </script>\n * ```\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass UniqueQueue extends Queue {\n\n /**\n *\n */\n constructor() {\n super();\n this.unique = new WeakSet();\n }\n\n /**\n * Add a new element to the end of the queue.\n *\n * @param {object} value\n * @returns {Queue}\n * @throws {TypeError} value is not a object\n */\n add(value) {\n \n validateObject(value);\n \n if (!this.unique.has(value)) {\n this.unique.add(value);\n super.add(value);\n }\n \n return this;\n }\n\n /**\n * remove all entries\n *\n * @returns {Queue}\n */\n clear() {\n super.clear();\n this.unique = new WeakSet;\n return this;\n }\n\n /**\n * Remove the element at the front of the queue\n * If the queue is empty, return undefined.\n *\n * @return {object}\n */\n poll() {\n\n if (this.isEmpty()) {\n return undefined;\n }\n let value = this.data.shift();\n this.unique.delete(value);\n return value;\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', UniqueQueue);\nexport {Monster, UniqueQueue}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {\n isPrimitive,\n isBoolean,\n isString,\n isObject,\n isArray,\n isFunction,\n isIterable,\n isInstance,\n isInteger\n} from './is.js';\n\n/**\n * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError\n * console.log(Monster.Types.validateIterable([])) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateIterable('2')) // ↦ TypeError\n * console.log(validateIterable([])) // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a primitive\n * @see {@link isPrimitive}\n * @see {@link Monster/Types/isPrimitive}\n * @see {@link Monster/Types#isPrimitive}\n */\nfunction validateIterable(value) {\n if (!isIterable(value)) {\n throw new TypeError('value is not iterable')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined\n * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validatePrimitive('2')) // ↦ undefined\n * console.log(validatePrimitive([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a primitive\n * @see {@link isPrimitive}\n * @see {@link Monster/Types/isPrimitive}\n * @see {@link Monster/Types#isPrimitive}\n */\nfunction validatePrimitive(value) {\n if (!isPrimitive(value)) {\n throw new TypeError('value is not a primitive')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateBoolean()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined\n * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError\n * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateBoolean(false)) // ↦ undefined\n * console.log(validateBoolean('2')) // ↦ TypeError\n * console.log(validateBoolean([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n\n * @throws {TypeError} value is not primitive\n */\nfunction validateBoolean(value) {\n if (!isBoolean(value)) {\n throw new TypeError('value is not a boolean')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateString()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateString('2')) // ↦ undefined\n * console.log(Monster.Types.validateString([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateString('2')) // ↦ undefined\n * console.log(validateString([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a string\n */\nfunction validateString(value) {\n if (!isString(value)) {\n throw new TypeError('value is not a string')\n }\n return value\n}\n\n\n/**\n * This method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateObject({})) // ↦ undefined\n * console.log(Monster.Types.validateObject('2')) // ↦ TypeError\n * console.log(Monster.Types.validateObject([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateObject({})) // ↦ undefined\n * console.log(validateObject('2')) // ↦ TypeError\n * console.log(validateObject([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a object\n */\nfunction validateObject(value) {\n if (!isObject(value)) {\n throw new TypeError('value is not a object')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the object instance.\n *\n * You can call the method via the monster namespace `Monster.Types.validateInstance()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined\n * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError\n * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateInstance({}, Object)) // ↦ undefined\n * console.log(validateInstance('2', Object)) // ↦ TypeError\n * console.log(validateInstance([], Object)) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an instance of\n */\nfunction validateInstance(value, instance) {\n if (!isInstance(value, instance)) {\n let n = \"\";\n if (isObject(instance) || isFunction(instance)) {\n n = instance?.['name']\n }\n\n if (n) {\n n = \" \" + n;\n }\n\n throw new TypeError('value is not an instance of' + n)\n }\n return value\n}\n\n/**\n * This method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateArray()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateArray('2')) // ↦ TypeError\n * console.log(Monster.Types.validateArray([])) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateArray('2')) // ↦ TypeError\n * console.log(validateArray([])) // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an array\n */\nfunction validateArray(value) {\n if (!isArray(value)) {\n throw new TypeError('value is not an array')\n }\n return value\n}\n\n/**\n * This method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined\n * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError\n * console.log(Monster.Types.validateFunction([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateFunction(()=>{})) // ↦ undefined\n * console.log(validateFunction('2')) // ↦ TypeError\n * console.log(validateFunction([])) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a function\n */\nfunction validateFunction(value) {\n if (!isFunction(value)) {\n throw new TypeError('value is not a function')\n }\n return value\n}\n\n/**\n * This method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateInteger()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError\n * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError\n * console.log(Monster.Types.validateInteger(2)) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateInteger(true)) // ↦ TypeError\n * console.log(validateInteger('2')) // ↦ TypeError\n * console.log(validateInteger(2)) // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an integer\n */\nfunction validateInteger(value) {\n if (!isInteger(value)) {\n throw new TypeError('value is not an integer')\n }\n return value\n}\n\nMonster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger);\nexport {\n Monster,\n validatePrimitive,\n validateBoolean,\n validateString,\n validateObject,\n validateInstance,\n validateArray,\n validateFunction,\n validateIterable,\n validateInteger\n}\n", + "'use strict';\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\n\n/**\n * The version object contains a sematic version number\n *\n * You can create the object via the monster namespace `new Monster.Types.Version()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3\n * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this class individually.\n *\n * ```\n * <script type=\"module\">\n * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n * console.log(new Version('1.2.3')) // ↦ 1.2.3\n * console.log(new Version('1')) // ↦ 1.0.0\n * </script>\n * ```\n *\n * @example\n *\n * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n *\n * new Version('1.0.0') // ↦ 1.0.0\n * new Version(1) // ↦ 1.0.0\n * new Version(1, 0, 0) // ↦ 1.0.0\n * new Version('1.2.3', 4, 5) // ↦ 1.4.5\n *\n * @since 1.0.0\n * @author schukai GmbH\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Version extends Base {\n\n /**\n *\n * @param major\n * @param minor\n * @param patch\n * @throws {Error} major is not a number\n * @throws {Error} minor is not a number\n * @throws {Error} patch is not a number\n */\n constructor(major, minor, patch) {\n super();\n\n if (typeof major === 'string' && minor === undefined && patch === undefined) {\n\n let parts = major.toString().split('.');\n major = parseInt(parts[0] || 0);\n minor = parseInt(parts[1] || 0);\n patch = parseInt(parts[2] || 0);\n }\n\n if (major === undefined) {\n throw new Error(\"major version is undefined\");\n }\n\n if (minor === undefined) {\n minor = 0;\n }\n\n if (patch === undefined) {\n patch = 0;\n }\n\n this.major = parseInt(major);\n this.minor = parseInt(minor);\n this.patch = parseInt(patch);\n\n if (isNaN(this.major)) {\n throw new Error(\"major is not a number\");\n }\n\n if (isNaN(this.minor)) {\n throw new Error(\"minor is not a number\");\n }\n\n if (isNaN(this.patch)) {\n throw new Error(\"patch is not a number\");\n }\n\n }\n\n /**\n *\n * @returns {string}\n */\n toString() {\n return this.major + '.' + this.minor + '.' + this.patch;\n }\n\n /**\n * returns 0 if equal, -1 if the object version is less and 1 if greater\n * then the compared version\n *\n * @param {string|Version} version Version to compare\n * @returns {number}\n */\n compareTo(version) {\n\n if (version instanceof Version) {\n version = version.toString();\n }\n\n if (typeof version !== 'string') {\n throw new Error(\"type exception\");\n }\n\n if (version === this.toString()) {\n return 0;\n }\n\n let a = [this.major, this.minor, this.patch];\n let b = version.split('.');\n let len = Math.max(a.length, b.length);\n\n for (let i = 0; i < len; i += 1) {\n if ((a[i] && !b[i] && parseInt(a[i]) > 0) || (parseInt(a[i]) > parseInt(b[i]))) {\n return 1;\n } else if ((b[i] && !a[i] && parseInt(b[i]) > 0) || (parseInt(a[i]) < parseInt(b[i]))) {\n return -1;\n }\n }\n\n return 0;\n };\n\n}\n\nMonster.assignToNamespace('Monster.Types', Version);\n\n\nlet monsterVersion;\n\n/**\n * Version of monster\n *\n * you can call the method via the monster namespace `Monster.getVersion()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n * console.log(Monster.getVersion())\n * console.log(Monster.getVersion())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n * console.log(getVersion())\n * console.log(getVersion())\n * </script>\n * ```\n *\n * @returns {Monster.Types.Version}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @author schukai GmbH\n * @memberOf Monster\n */\nfunction getVersion() {\n if (monsterVersion instanceof Version) {\n return monsterVersion;\n }\n /**#@+ dont touch, replaced by make with package.json version */\n monsterVersion = new Version('1.8.0')\n /**#@-*/\n return monsterVersion;\n\n}\n\nMonster.assignToNamespace('Monster', getVersion);\nexport {Monster, Version, getVersion}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {isObject, isFunction, isPrimitive, isArray} from '../types/is.js';\nimport {getGlobal} from '../types/global.js';\n\n\n/**\n * With this function, objects can be cloned.\n * The entire object tree is run through.\n *\n * Proxy, Element, HTMLDocument and DocumentFragment instances are not cloned.\n * Global objects such as windows are also not cloned,\n *\n * If an object has a method `getClone()`, this method is used to create the clone.\n *\n * You can call the method via the monster namespace `Monster.Util.clone()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';\n * console.log(Monster.Util.clone({}))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';\n * console.log(clone({}))\n * </script>\n * ```\n *\n * @param {*} obj object to be cloned\n * @returns {*}\n *\n * @since 1.0.0\n * @memberOf Monster/Util\n * @copyright schukai GmbH\n * @throws {Error} unable to clone obj! its type isn't supported.\n */\nfunction clone(obj) {\n\n // typeof null results in 'object'. https://2ality.com/2013/10/typeof-null.html\n if (null === obj) {\n return obj;\n }\n\n // Handle the two simple types, null and undefined\n if (isPrimitive(obj)) {\n return obj;\n }\n \n // Handle the two simple types, null and undefined\n if (isFunction(obj)) {\n return obj;\n }\n\n // Handle Array\n if (isArray(obj)) {\n let copy = [];\n for (var i = 0, len = obj.length; i < len; i++) {\n copy[i] = clone(obj[i]);\n }\n\n return copy;\n }\n\n if (isObject(obj)) {\n\n\n // Handle Date\n if (obj instanceof Date) {\n let copy = new Date();\n copy.setTime(obj.getTime());\n return copy;\n }\n\n /** Do not clone DOM nodes */\n if (typeof Element !== 'undefined' && obj instanceof Element) return obj;\n if (typeof HTMLDocument !== 'undefined' && obj instanceof HTMLDocument) return obj;\n if (typeof DocumentFragment !== 'undefined' && obj instanceof DocumentFragment) return obj;\n\n /** Do not clone global objects */\n if (obj === getGlobal()) return obj;\n if (typeof globalContext !== 'undefined' && obj === globalContext) return obj;\n if (typeof window !== 'undefined' && obj === window) return obj;\n if (typeof document !== 'undefined' && obj === document) return obj;\n if (typeof navigator !== 'undefined' && obj === navigator) return obj;\n if (typeof JSON !== 'undefined' && obj === JSON) return obj;\n\n // Handle Proxy-Object\n try {\n // try/catch because possible: TypeError: Function has non-object prototype 'undefined' in instanceof check\n if (obj instanceof Proxy) {\n return obj;\n }\n } catch (e) {\n }\n\n return cloneObject(obj)\n\n }\n\n throw new Error(\"unable to clone obj! its type isn't supported.\");\n}\n\n/**\n *\n * @param {object} obj\n * @returns {object}\n * @private\n */\nfunction cloneObject(obj) {\n var copy;\n\n /** Object has clone method */\n if (typeof obj.hasOwnProperty('getClone') && obj.getClone === 'function') {\n return obj.getClone();\n }\n\n copy = {};\n if (typeof obj.constructor === 'function' &&\n typeof obj.constructor.call === 'function') {\n copy = new obj.constructor();\n }\n\n for (let key in obj) {\n\n if (!obj.hasOwnProperty(key)) {\n continue;\n }\n\n if (Monster.Types.isPrimitive(obj[key])) {\n copy[key] = obj[key];\n continue;\n }\n\n copy[key] = clone(obj[key]);\n }\n\n return copy;\n}\n\nMonster.assignToNamespace('Monster.Util', clone);\nexport {Monster, clone}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {isFunction} from '../types/is.js';\n\n/**\n * The comparator allows a comparison function to be abstracted.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';\n * console.log(new Monster.Util.Comparator())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';\n * console.log(new Comparator())\n * </script>\n * ```\n *\n * The following are some examples of the application of the class.\n *\n * ```\n * new Comparator().lessThanOrEqual(2, 5) // ↦ true\n * new Comparator().greaterThan(4, 2) // ↦ true\n * new Comparator().equal(4, 4) // ↦ true\n * new Comparator().equal(4, 5) // ↦ false\n * ```\n *\n * You can also pass your own comparison function, and thus define the comparison function.\n *\n * ```\n * new Comparator(function (a, b) {\n * if (a.v === b.v) return 0;\n * return a.v < b.v ? -1 : 1;\n * }).equal({v: 2}, {v: 2}); // ↦ true\n * ```\n * \n * @example\n *\n * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';\n *\n * console.log(new Comparator().lessThanOrEqual(2, 5))\n * // ↦ true\n * console.log(new Comparator().greaterThan(4, 2))\n * // ↦ true\n * console.log(new Comparator().equal(4, 4))\n * // ↦ true\n * console.log(new Comparator().equal(4, 5))\n * // ↦ false\n *\n * @since 1.3.0\n * @memberOf Monster/Util\n */\nclass Comparator extends Base {\n\n /**\n * create new comparator\n *\n * @param {function} callback\n * @throw {TypeError} \"unsupported type\"\n * @throw {TypeError} \"impractical comparison\"\n */\n constructor(callback) {\n super();\n\n if (isFunction(callback)) {\n this.compare = callback\n } else if (callback !== undefined) {\n throw new TypeError(\"unsupported type\")\n } else {\n // default compare function\n this.compare = function (a, b) {\n\n if (typeof a !== typeof b) {\n throw new TypeError(\"impractical comparison\")\n }\n\n if (a === b) {\n return 0;\n }\n return a < b ? -1 : 1;\n };\n }\n\n }\n\n /**\n * changes the order of the operators\n *\n * @return {Comparator}\n */\n reverse() {\n const original = this.compare;\n this.compare = (a, b) => original(b, a);\n return this;\n }\n\n /**\n * Checks if two variables are equal.\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n equal(a, b) {\n return this.compare(a, b) === 0;\n }\n\n\n /**\n * Checks if variable `a` is greater than `b`\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n greaterThan(a, b) {\n return this.compare(a, b) > 0;\n }\n\n /**\n * Checks if variable `a` is greater than or equal to `b`\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n greaterThanOrEqual(a, b) {\n return this.greaterThan(a, b) || this.equal(a, b);\n }\n\n /**\n * Checks if variable `a` is less than or equal to `b`\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n lessThanOrEqual(a, b) {\n return this.lessThan(a, b) || this.equal(a, b);\n }\n\n /**\n * Checks if variable a is less than b\n *\n * @param {*} a\n * @param {*} b\n *\n * @return {boolean}\n */\n lessThan(a, b) {\n return this.compare(a, b) < 0;\n }\n\n\n}\n\nMonster.assignToNamespace('Monster.Util', Comparator);\nexport {Monster, Comparator}\n", + "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateObject} from '../types/validate.js';\n\n/**\n * Deep freeze a object\n *\n * You can call the method via the monster namespace `Monster.Util.deepFreeze()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js';\n * console.log(Monster.Util.deepFreeze({})) \n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js';\n * console.log(deepFreeze({})) \n * </script>\n * ```\n *\n * @param {object} obj object to be freeze\n * @since 1.0.0\n * @returns {object}\n * @memberOf Monster/Util\n * @copyright schukai GmbH\n * @throws {TypeError} value is not a object\n */\nfunction deepFreeze(object) {\n \n validateObject(object)\n\n // Retrieve the defined property names of the object\n var propNames = Object.getOwnPropertyNames(object);\n\n // Freeze properties before freezing yourself\n for (let name of propNames) {\n let value = object[name];\n\n object[name] = value && typeof value === \"object\" ?\n deepFreeze(value) : value;\n }\n\n return Object.freeze(object);\n}\n\nMonster.assignToNamespace('Monster.Util', deepFreeze);\nexport {Monster, deepFreeze}\n" ] } \ No newline at end of file diff --git a/packages/monster/dist/monster.js b/packages/monster/dist/monster.js index 84e3bcafe..bed17bce3 100644 --- a/packages/monster/dist/monster.js +++ b/packages/monster/dist/monster.js @@ -1,2 +1,2 @@ -/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ -(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.AbstractConstraint=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AbstractConstraint=function(_Base){_inherits(AbstractConstraint,_Base);var _super=_createSuper(AbstractConstraint);function AbstractConstraint(){_classCallCheck(this,AbstractConstraint);return _super.call(this)}_createClass(AbstractConstraint,[{key:"isValid",value:function isValid(value){return Promise.reject(value)}}]);return AbstractConstraint}(_base.Base);exports.AbstractConstraint=AbstractConstraint;_namespace.Monster.assignToNamespace("Monster.Constraints",AbstractConstraint)},{"../namespace.js":25,"../types/base.js":26}],2:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.AbstractOperator=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AbstractOperator=function(_AbstractConstraint){_inherits(AbstractOperator,_AbstractConstraint);var _super=_createSuper(AbstractOperator);function AbstractOperator(operantA,operantB){var _this;_classCallCheck(this,AbstractOperator);_this=_super.call(this);if(!(operantA instanceof _abstract.AbstractConstraint)||!(operantB instanceof _abstract.AbstractConstraint)){throw new TypeError("parameters must be from type AbstractConstraint")}_this.operantA=operantA;_this.operantB=operantB;return _this}return AbstractOperator}(_abstract.AbstractConstraint);exports.AbstractOperator=AbstractOperator;_abstract.Monster.assignToNamespace("Monster.Constraints",AbstractOperator)},{"./abstract.js":1}],3:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.AndOperator=void 0;var _abstract=require("./abstract.js");var _abstractoperator=require("./abstractoperator.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AndOperator=function(_AbstractOperator){_inherits(AndOperator,_AbstractOperator);var _super=_createSuper(AndOperator);function AndOperator(){_classCallCheck(this,AndOperator);return _super.apply(this,arguments)}_createClass(AndOperator,[{key:"isValid",value:function isValid(value){return Promise.all([this.operantA.isValid(value),this.operantB.isValid(value)])}}]);return AndOperator}(_abstractoperator.AbstractOperator);exports.AndOperator=AndOperator;_abstract.Monster.assignToNamespace("Monster.Constraints",AndOperator)},{"./abstract.js":1,"./abstractoperator.js":2}],4:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.Invalid=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Invalid=function(_AbstractConstraint){_inherits(Invalid,_AbstractConstraint);var _super=_createSuper(Invalid);function Invalid(){_classCallCheck(this,Invalid);return _super.apply(this,arguments)}_createClass(Invalid,[{key:"isValid",value:function isValid(value){return Promise.reject(value)}}]);return Invalid}(_abstract.AbstractConstraint);exports.Invalid=Invalid;_abstract.Monster.assignToNamespace("Monster.Constraints",Invalid)},{"./abstract.js":1}],5:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.IsArray=void 0;var _abstract=require("./abstract.js");var _is=require("../types/is.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var IsArray=function(_AbstractConstraint){_inherits(IsArray,_AbstractConstraint);var _super=_createSuper(IsArray);function IsArray(){_classCallCheck(this,IsArray);return _super.apply(this,arguments)}_createClass(IsArray,[{key:"isValid",value:function isValid(value){if((0,_is.isArray)(value)){return Promise.resolve(value)}return Promise.reject(value)}}]);return IsArray}(_abstract.AbstractConstraint);exports.IsArray=IsArray;_abstract.Monster.assignToNamespace("Monster.Constraints",IsArray)},{"../types/is.js":29,"./abstract.js":1}],6:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.IsObject=void 0;var _abstract=require("./abstract.js");var _is=require("../types/is.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var IsObject=function(_AbstractConstraint){_inherits(IsObject,_AbstractConstraint);var _super=_createSuper(IsObject);function IsObject(){_classCallCheck(this,IsObject);return _super.apply(this,arguments)}_createClass(IsObject,[{key:"isValid",value:function isValid(value){if((0,_is.isObject)(value)){return Promise.resolve(value)}return Promise.reject(value)}}]);return IsObject}(_abstract.AbstractConstraint);exports.IsObject=IsObject;_abstract.Monster.assignToNamespace("Monster.Constraints",IsObject)},{"../types/is.js":29,"./abstract.js":1}],7:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstractoperator.Monster}});exports.OrOperator=void 0;var _abstractoperator=require("./abstractoperator.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var OrOperator=function(_AbstractOperator){_inherits(OrOperator,_AbstractOperator);var _super=_createSuper(OrOperator);function OrOperator(){_classCallCheck(this,OrOperator);return _super.apply(this,arguments)}_createClass(OrOperator,[{key:"isValid",value:function isValid(value){var self=this;return new Promise(function(resolve,reject){var a,b;self.operantA.isValid(value).then(function(){resolve()})["catch"](function(){a=false;if(b===false){reject()}});self.operantB.isValid(value).then(function(){resolve()})["catch"](function(){b=false;if(a===false){reject()}})})}}]);return OrOperator}(_abstractoperator.AbstractOperator);exports.OrOperator=OrOperator;_abstractoperator.Monster.assignToNamespace("Monster.Constraints",OrOperator)},{"./abstractoperator.js":2}],8:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.Valid=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Valid=function(_AbstractConstraint){_inherits(Valid,_AbstractConstraint);var _super=_createSuper(Valid);function Valid(){_classCallCheck(this,Valid);return _super.apply(this,arguments)}_createClass(Valid,[{key:"isValid",value:function isValid(value){return Promise.resolve(value)}}]);return Valid}(_abstract.AbstractConstraint);exports.Valid=Valid;_abstract.Monster.assignToNamespace("Monster.Constraints",Valid)},{"./abstract.js":1}],9:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Diff=Diff;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _is.Monster}});var _is=require("../types/is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function Diff(first,second){return doDiff(first,second)}function getKeys(a,b,type){if((0,_is.isArray)(type)){var keys=a.length>b.length?new Array(a.length):new Array(b.length);keys.fill(0);return new Set(keys.map(function(_,i){return i}))}return new Set(Object.keys(a).concat(Object.keys(b)))}function doDiff(a,b,path,diff){var typeA=_typeof(a);var typeB=_typeof(b);var currPath=path||[];var currDiff=diff||[];if(typeA===typeB&&typeA==="object"){getKeys(a,b,typeA).forEach(function(v){if(!Object.prototype.hasOwnProperty.call(a,v)){currDiff.push(buildResult(a[v],b[v],"add",currPath.concat(v)))}else if(!Object.prototype.hasOwnProperty.call(b,v)){currDiff.push(buildResult(a[v],b[v],"delete",currPath.concat(v)))}else{doDiff(a[v],b[v],currPath.concat(v),currDiff)}})}else{var o=getOperator(a,b,typeA,typeB);if(o!==undefined){currDiff.push(buildResult(a,b,o,path))}}return currDiff}function buildResult(a,b,operator,path){var result={operator:operator,path:path};if(operator!=="add"){result.first={value:a,type:_typeof(a)};if((0,_is.isObject)(a)){var _Object$getPrototypeO,_Object$getPrototypeO2;var name=(_Object$getPrototypeO=Object.getPrototypeOf(a))===null||_Object$getPrototypeO===void 0?void 0:(_Object$getPrototypeO2=_Object$getPrototypeO.constructor)===null||_Object$getPrototypeO2===void 0?void 0:_Object$getPrototypeO2.name;if(name!==undefined){result.first.instance=name}}}if(operator==="add"||operator==="update"){result.second={value:b,type:_typeof(b)};if((0,_is.isObject)(b)){var _Object$getPrototypeO3,_Object$getPrototypeO4;var _name=(_Object$getPrototypeO3=Object.getPrototypeOf(b))===null||_Object$getPrototypeO3===void 0?void 0:(_Object$getPrototypeO4=_Object$getPrototypeO3.constructor)===null||_Object$getPrototypeO4===void 0?void 0:_Object$getPrototypeO4.name;if(_name!==undefined){result.second.instance=_name}}}return result}function isNotEqual(a,b){if(_typeof(a)!==_typeof(b)){return true}if(a instanceof Date&&b instanceof Date){return a.getTime()!==b.getTime()}return a!==b}function getOperator(a,b){var operator;var typeA=_typeof(a);var typeB=_typeof(b);if(typeA==="undefined"&&typeB!=="undefined"){operator="add"}else if(typeA!=="undefined"&&typeB==="undefined"){operator="delete"}else if(isNotEqual(a,b)){operator="update"}return operator}_is.Monster.assignToNamespace("Monster.Data",Diff)},{"../types/is.js":29}],10:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Pathfinder=void 0;var _namespace=require("../namespace.js");var _is=require("../types/is.js");var _validate=require("../types/validate.js");var _base=require("../types/base.js");var _stack=require("../types/stack.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DELIMITER=".";var WILDCARD="*";var Pathfinder=function(_Base){_inherits(Pathfinder,_Base);var _super=_createSuper(Pathfinder);function Pathfinder(object){var _this;_classCallCheck(this,Pathfinder);_this=_super.call(this);_this.object=object;_this.wildCard=WILDCARD;return _this}_createClass(Pathfinder,[{key:"setWildCard",value:function setWildCard(wildcard){(0,_validate.validateString)(wildcard);this.wildCard=wildcard;return this}},{key:"getVia",value:function getVia(path){(0,_validate.validateString)(path);return getValueViaPath.call(this,this.object,path)}},{key:"setVia",value:function setVia(path,value){(0,_validate.validateString)(path);setValueViaPath.call(this,this.object,path,value);return this}},{key:"deleteVia",value:function deleteVia(path){(0,_validate.validateString)(path);deleteValueViaPath.call(this,this.object,path);return this}},{key:"exists",value:function exists(path){(0,_validate.validateString)(path);try{getValueViaPath.call(this,this.object,path,true);return true}catch(e){}return false}}]);return Pathfinder}(_base.Base);exports.Pathfinder=Pathfinder;_namespace.Monster.assignToNamespace("Monster.Data",Pathfinder);function iterate(subject,path,check){var result=new Map;if((0,_is.isObject)(subject)||(0,_is.isArray)(subject)){for(var _i=0,_Object$entries=Object.entries(subject);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),key=_Object$entries$_i[0],value=_Object$entries$_i[1];result.set(key,getValueViaPath.call(this,value,path,check))}}else{var _key=path.split(DELIMITER).shift();result.set(_key,getValueViaPath.call(this,subject,path,check))}return result}function getValueViaPath(subject,path,check){if(path===""){return subject}var parts=path.split(DELIMITER);var current=parts.shift();if(current===this.wildCard){return iterate.call(this,subject,parts.join(DELIMITER),check)}if((0,_is.isObject)(subject)||(0,_is.isArray)(subject)){var anchor;if(subject instanceof Map||subject instanceof WeakMap){anchor=subject.get(current)}else if(subject instanceof Set||subject instanceof WeakSet){var _ref;current=parseInt(current);(0,_validate.validateInteger)(current);anchor=(_ref=_toConsumableArray(subject))===null||_ref===void 0?void 0:_ref[current]}else if(subject instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(subject)){current=parseInt(current);(0,_validate.validateInteger)(current);anchor=subject===null||subject===void 0?void 0:subject[current]}else{anchor=subject===null||subject===void 0?void 0:subject[current]}if((0,_is.isObject)(anchor)||(0,_is.isArray)(anchor)){return getValueViaPath.call(this,anchor,parts.join(DELIMITER),check)}if(parts.length>0){throw Error("the journey is not at its end ("+parts.join(DELIMITER)+")")}if(check===true&&!subject.hasOwnProperty(current)){throw Error("unknown value")}return anchor}throw TypeError("unsupported type "+_typeof(subject))}function setValueViaPath(object,path,value){(0,_validate.validateString)(path);var parts=path.split(DELIMITER);var last=parts.pop();var subpath=parts.join(DELIMITER);var stack=new _stack.Stack;var current=subpath;while(true){try{getValueViaPath.call(this,object,current,true);break}catch(e){}stack.push(current);parts.pop();current=parts.join(DELIMITER);if(current==="")break}while(!stack.isEmpty()){current=stack.pop();var obj={};if(!stack.isEmpty()){var n=stack.peek().split(DELIMITER).pop();if((0,_is.isInteger)(parseInt(n))){obj=[]}}setValueViaPath.call(this,object,current,obj)}var anchor=getValueViaPath.call(this,object,subpath);if(!(0,_is.isObject)(object)&&!(0,_is.isArray)(object)){throw TypeError("unsupported type: "+_typeof(object))}if(anchor instanceof Map||anchor instanceof WeakMap){anchor.set(last,value)}else if(anchor instanceof Set||anchor instanceof WeakSet){anchor.append(value)}else if(anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(anchor)){last=parseInt(last);(0,_validate.validateInteger)(last);anchor[last]=value}else{anchor[last]=value}return}function deleteValueViaPath(object,path){var parts=path.split(DELIMITER);var last=parts.pop();var subpath=parts.join(DELIMITER);var anchor=getValueViaPath.call(this,object,subpath);if(anchor instanceof Map){anchor["delete"](last)}else if(anchor instanceof Set||anchor instanceof WeakMap||anchor instanceof WeakSet||anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(anchor)){last=parseInt(last);(0,_validate.validateInteger)(last);delete anchor[last]}else{delete anchor[last]}return}},{"../namespace.js":25,"../types/base.js":26,"../types/is.js":29,"../types/stack.js":35,"../types/validate.js":38}],11:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Pipe=void 0;var _namespace=require("../namespace.js");var _transformer=require("./transformer.js");var _base=require("../types/base.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DELIMITER="|";var Pipe=function(_Base){_inherits(Pipe,_Base);var _super=_createSuper(Pipe);function Pipe(pipe){var _this;_classCallCheck(this,Pipe);_this=_super.call(this);(0,_validate.validateString)(pipe);_this.pipe=pipe.split(DELIMITER).map(function(v){return new _transformer.Transformer(v)});return _this}_createClass(Pipe,[{key:"run",value:function run(value){return this.pipe.reduce(function(accumulator,currentValue,currentIndex,array){return currentValue.run(accumulator)},value)}}]);return Pipe}(_base.Base);exports.Pipe=Pipe;_namespace.Monster.assignToNamespace("Monster.Data",Pipe)},{"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38,"./transformer.js":12}],12:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Transformer=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _is=require("../types/is.js");var _id=require("../types/id.js");var _clone=require("../util/clone.js");var _pathfinder=require("./pathfinder.js");function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _wrapRegExp(){_wrapRegExp=function _wrapRegExp(re,groups){return new BabelRegExp(re,undefined,groups)};var _super=RegExp.prototype;var _groups=new WeakMap;function BabelRegExp(re,flags,groups){var _this=new RegExp(re,flags);_groups.set(_this,groups||_groups.get(re));return _setPrototypeOf(_this,BabelRegExp.prototype)}_inherits(BabelRegExp,RegExp);BabelRegExp.prototype.exec=function(str){var result=_super.exec.call(this,str);if(result)result.groups=buildGroups(result,this);return result};BabelRegExp.prototype[Symbol.replace]=function(str,substitution){if(typeof substitution==="string"){var groups=_groups.get(this);return _super[Symbol.replace].call(this,str,substitution.replace(/\$<([^>]+)>/g,function(_,name){return"$"+groups[name]}))}else if(typeof substitution==="function"){var _this=this;return _super[Symbol.replace].call(this,str,function(){var args=arguments;if(_typeof(args[args.length-1])!=="object"){args=[].slice.call(args);args.push(buildGroups(args,_this))}return substitution.apply(this,args)})}else{return _super[Symbol.replace].call(this,str,substitution)}};function buildGroups(result,re){var g=_groups.get(re);return Object.keys(g).reduce(function(groups,name){groups[name]=result[g[name]];return groups},Object.create(null))}return _wrapRegExp.apply(this,arguments)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Transformer=function(_Base){_inherits(Transformer,_Base);var _super=_createSuper(Transformer);function Transformer(definition){var _this;_classCallCheck(this,Transformer);_this=_super.call(this);(0,_validate.validateString)(definition);_this.args=disassemble(definition);_this.command=_this.args.shift();_this.callbacks=new Map;return _this}_createClass(Transformer,[{key:"setCallback",value:function setCallback(name,callback){(0,_validate.validateString)(name);(0,_validate.validateFunction)(callback);this.callbacks.set(name,callback);return this}},{key:"run",value:function run(value){return transform.apply(this,[value])}}]);return Transformer}(_base.Base);exports.Transformer=Transformer;_namespace.Monster.assignToNamespace("Monster.Data",Transformer);function disassemble(command){(0,_validate.validateString)(command);var placeholder=new Map;var regex=_wrapRegExp(/((\\(.)){1})/gim,{pattern:2,char:3});var result=command.matchAll(regex);var _iterator=_createForOfIteratorHelper(result),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var m=_step.value;var g=m===null||m===void 0?void 0:m["groups"];if(!(0,_is.isObject)(g)){continue}var p=g===null||g===void 0?void 0:g["pattern"];var c=g===null||g===void 0?void 0:g["char"];if(p&&c){var r="__"+(new _id.ID).toString()+"__";placeholder.set(r,c);command=command.replace(p,r)}}}catch(err){_iterator.e(err)}finally{_iterator.f()}var parts=command.split(":");parts=parts.map(function(value){var v=value.trim();var _iterator2=_createForOfIteratorHelper(placeholder),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var k=_step2.value;v=v.replace(k[0],k[1])}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}return v});return parts}function convertToString(value){if((0,_is.isObject)(value)&&value.hasOwnProperty("toString")){value=value.toString()}(0,_validate.validateString)(value);return value}function transform(value){var args=(0,_clone.clone)(this.args);var key;switch(this.command){case"static":return this.args.join(":");case"tolower":case"strtolower":case"tolowercase":(0,_validate.validateString)(value);return value.toLowerCase();case"toupper":case"strtoupper":case"touppercase":(0,_validate.validateString)(value);return value.toUpperCase();case"tostring":return""+value;case"tointeger":var n=parseInt(value);(0,_validate.validateInteger)(n);return n;case"trim":(0,_validate.validateString)(value);return value.trim();case"rawurlencode":(0,_validate.validateString)(value);return encodeURIComponent(value).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A");case"call":var callback;var callbackName=args.shift();if((0,_is.isObject)(value)&&calue.hasOwnProperty(callbackName)){callback=value[callbackName]}else if(this.callbacks.has(callbackName)){callback=this.callbacks.get(callbackName)}else if((typeof window==="undefined"?"undefined":_typeof(window))==="object"&&window.hasOwnProperty(callbackName)){callback=window[callbackName]}(0,_validate.validateFunction)(callback);args.unshift(value);return callback.apply(void 0,_toConsumableArray(args));case"plain":case"plaintext":(0,_validate.validateString)(value);var doc=(new DOMParser).parseFromString(value,"text/html");return doc.body.textContent||"";case"if":case"?":(0,_validate.validatePrimitive)(value);var trueStatement=args.shift()||undefined;var falseStatement=args.shift()||undefined;if(trueStatement==="value"){trueStatement=value}if(trueStatement==="\\value"){trueStatement="value"}if(falseStatement==="value"){falseStatement=value}if(falseStatement==="\\value"){falseStatement="value"}var condition=value!==undefined&&value!==""&&value!=="off"&&value!=="false"&&value!==false||value==="on"||value==="true"||value===true;return condition?trueStatement:falseStatement;case"ucfirst":(0,_validate.validateString)(value);var firstchar=value.charAt(0).toUpperCase();return firstchar+value.substr(1);case"ucwords":(0,_validate.validateString)(value);return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g,function(v){return v.toUpperCase()});case"count":case"length":if(((0,_is.isString)(value)||(0,_is.isObject)(value)||(0,_is.isArray)(value))&&value.hasOwnProperty("length")){return value.length}throw new TypeError("unsupported type");case"base64":convertToString(value);return btoa(value);case"empty":return"";case"undefined":return undefined;case"prefix":(0,_validate.validateString)(value);var prefix=args===null||args===void 0?void 0:args[0];return prefix+value;case"suffix":(0,_validate.validateString)(value);var suffix=args===null||args===void 0?void 0:args[0];return value+suffix;case"uniqid":return(new _id.ID).toString();case"key":case"property":case"index":key=args.shift()||"undefined";var defaultValue=args.shift()||"";if(value instanceof Map){if(!value.has(key)){return defaultValue}return value.get(key)}if((0,_is.isObject)(value)||(0,_is.isArray)(value)){if(value!==null&&value!==void 0&&value[key]){return value===null||value===void 0?void 0:value[key]}return defaultValue}throw new Error("type not supported");case"path":key=args.shift()||"undefined";return new _pathfinder.Pathfinder(value).getVia(key);case"substring":(0,_validate.validateString)(value);var start=parseInt(args[0])||0;var end=(parseInt(args[1])||0)+start;return value.substring(start,end);case"nop":return value;default:throw new Error("unknown command "+this.command)}return value}},{"../namespace.js":25,"../types/base.js":26,"../types/id.js":28,"../types/is.js":29,"../types/validate.js":38,"../util/clone.js":40,"./pathfinder.js":10}],13:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Assembler=exports.ATTRIBUTEPREFIX=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _proxyobserver=require("../types/proxyobserver.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ATTRIBUTEPREFIX="data-monster-";exports.ATTRIBUTEPREFIX=ATTRIBUTEPREFIX;var Assembler=function(_Base){_inherits(Assembler,_Base);var _super=_createSuper(Assembler);function Assembler(fragment){var _this;_classCallCheck(this,Assembler);_this=_super.call(this);_this.attributePrefix=ATTRIBUTEPREFIX;(0,_validate.validateInstance)(fragment,(0,_global.getGlobalFunction)("DocumentFragment"));_this.fragment=fragment;return _this}_createClass(Assembler,[{key:"setAttributePrefix",value:function setAttributePrefix(prefix){(0,_validate.validateString)(prefix);this.attributePrefix=prefix;return this}},{key:"getAttributePrefix",value:function getAttributePrefix(){return this.attributePrefix}},{key:"createDocumentFragment",value:function createDocumentFragment(data){if(data===undefined){data=new _proxyobserver.ProxyObserver({})}(0,_validate.validateInstance)(data,_proxyobserver.ProxyObserver);var fragment=this.fragment.cloneNode(true);return fragment}}]);return Assembler}(_base.Base);exports.Assembler=Assembler;_base.Monster.assignToNamespace("Monster.DOM",Assembler)},{"../types/base.js":26,"../types/global.js":27,"../types/proxyobserver.js":32,"../types/validate.js":38}],14:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.registerCustomElement=registerCustomElement;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _validate.Monster}});exports.CustomElement=void 0;var _global=require("../types/global.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class)_setPrototypeOf(instance,Class.prototype);return instance}}return _construct.apply(null,arguments)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var CustomElement=function(_HTMLElement){_inherits(CustomElement,_HTMLElement);var _super=_createSuper(CustomElement);function CustomElement(){_classCallCheck(this,CustomElement);return _super.call(this)}_createClass(CustomElement,[{key:"connectedCallback",value:function connectedCallback(){}},{key:"disconnectedCallback",value:function disconnectedCallback(){}},{key:"adoptedCallback",value:function adoptedCallback(){}},{key:"attributeChangedCallback",value:function attributeChangedCallback(attrName,oldVal,newVal){}}],[{key:"getTag",value:function getTag(){throw new Error("the method getTag must be overwritten by the derived class.")}}]);return CustomElement}(_wrapNativeSuper(HTMLElement));exports.CustomElement=CustomElement;function registerCustomElement(element){(0,_validate.validateFunction)(element);var tag=element.getTag();(0,_global.getGlobalObject)("customElements").define(element.getTag(),element);return}_validate.Monster.assignToNamespace("Monster.DOM",CustomElement,registerCustomElement)},{"../types/global.js":27,"../types/validate.js":38}],15:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getHandleFromNode=getHandleFromNode;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Handle=void 0;var _base=require("../types/base.js");var _stack=require("../types/stack.js");var _validate=require("../types/validate.js");var _proxyobserver=require("../types/proxyobserver.js");var _observer=require("../types/observer.js");var _global=require("../types/global.js");var _is=require("../types/is.js");var _assembler=require("./assembler.js");var _id=require("../types/id.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var MONSTERDOMHANDLE=Symbol("MonsterHandle");var Handle=function(_Base){_inherits(Handle,_Base);var _super=_createSuper(Handle);function Handle(data){var _this;_classCallCheck(this,Handle);_this=_super.call(this);var self=_assertThisInitialized(_this);self.id=new _id.ID;(0,_validate.validateInstance)(data,_proxyobserver.ProxyObserver);_this.data=data;_this.mutationObserver=createMutationObserver.call(_assertThisInitialized(_this));_this.dataObserver=createDataObserver.call(_assertThisInitialized(_this));_this.data.attachObserver(_this.dataObserver);_this.nodes=new WeakSet;_this.updates=new _stack.Stack;return _this}_createClass(Handle,[{key:"update",value:function update(){return}},{key:"remove",value:function remove(node){if((0,_is.isInstance)(node,(0,_global.getGlobalFunction)("Document"))){node=node.firstElementChild}(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("HTMLElement"));if(!this.nodes.has(node)){return this}this.mutationObserver.disconnect(node);delete node.dataset[MONSTERDOMHANDLE];node.removeAttribute(_assembler.ATTRIBUTEPREFIX+"handler");return this}},{key:"append",value:function append(node){if((0,_is.isInstance)(node,(0,_global.getGlobalFunction)("Document"))){node=node.firstElementChild}(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("HTMLElement"));if(this.nodes.has(node)){return this}node.dataset[MONSTERDOMHANDLE]=this;node.setAttribute(_assembler.ATTRIBUTEPREFIX+"handler",true);this.mutationObserver.observe(node,{attributes:true,childList:true,subtree:true,characterData:true,characterDataOldValue:true,attributeOldValue:true});this.nodes.add(node);return this}}]);return Handle}(_base.Base);exports.Handle=Handle;function createDataObserver(){var self=this;return new _observer.Observer(function(){self.update()})}function createMutationObserver(){var self=this;var MutationObserver=(0,_global.getGlobalFunction)("MutationObserver");return new MutationObserver(function(mutationsList,observer){var _iterator=_createForOfIteratorHelper(mutationsList),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var mutation=_step.value;self.updates.push(mutation)}}catch(err){_iterator.e(err)}finally{_iterator.f()}self.update()})}function getHandleFromNode(node){var _node$dataset;(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("Node"));var handle=(_node$dataset=node.dataset)===null||_node$dataset===void 0?void 0:_node$dataset[MONSTERDOMHANDLE];if(handle===undefined){var parentNode=node===null||node===void 0?void 0:node["parentNode"];if((0,_is.isInstance)(parentNode,(0,_global.getGlobalFunction)("Node"))){return getHandleFromNode(parentNode)}}return handle}_base.Monster.assignToNamespace("Monster.DOM",getHandleFromNode,Handle)},{"../types/base.js":26,"../types/global.js":27,"../types/id.js":28,"../types/is.js":29,"../types/observer.js":30,"../types/proxyobserver.js":32,"../types/stack.js":35,"../types/validate.js":38,"./assembler.js":13}],16:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.findDocumentTemplate=findDocumentTemplate;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Template=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _theme=require("./theme.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Template=function(_Base){_inherits(Template,_Base);var _super=_createSuper(Template);function Template(template){var _this;_classCallCheck(this,Template);_this=_super.call(this);var HTMLTemplateElement=(0,_global.getGlobalFunction)("HTMLTemplateElement");(0,_validate.validateInstance)(template,HTMLTemplateElement);_this.template=template;return _this}_createClass(Template,[{key:"getTemplateElement",value:function getTemplateElement(){return this.template}},{key:"createDocumentFragment",value:function createDocumentFragment(){return this.template.content.cloneNode(true)}}]);return Template}(_base.Base);exports.Template=Template;function findDocumentTemplate(id){(0,_validate.validateString)(id);var document=(0,_global.getGlobalObject)("document");var HTMLTemplateElement=(0,_global.getGlobalFunction)("HTMLTemplateElement");var theme=(0,_theme.getDocumentTheme)();var themedID=id+"-"+theme.getName();var template=document.getElementById(themedID);if(template instanceof HTMLTemplateElement){return new Template(template)}template=document.getElementById(id);if(template instanceof HTMLTemplateElement){return new Template(template)}throw new Error("template "+id+" not found.")}_base.Monster.assignToNamespace("Monster.DOM",Template,findDocumentTemplate)},{"../types/base.js":26,"../types/global.js":27,"../types/validate.js":38,"./theme.js":17}],17:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getDocumentTheme=getDocumentTheme;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Theme=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DEFAULT_THEME="monster";var THEME_ATTRIBUTE_NAME="data-monster-theme-name";var Theme=function(_Base){_inherits(Theme,_Base);var _super=_createSuper(Theme);function Theme(name){var _this;_classCallCheck(this,Theme);_this=_super.call(this);(0,_validate.validateString)(name);_this.name=name;return _this}_createClass(Theme,[{key:"getName",value:function getName(){return this.name}}]);return Theme}(_base.Base);exports.Theme=Theme;function getDocumentTheme(){var document=(0,_global.getGlobalObject)("document");var name=DEFAULT_THEME;var element=document.querySelector("html");if(element instanceof HTMLElement){var theme=element.getAttribute(THEME_ATTRIBUTE_NAME);if(theme){name=theme}}return new Theme(name)}_base.Monster.assignToNamespace("Monster.DOM",Theme,getDocumentTheme)},{"../types/base.js":26,"../types/global.js":27,"../types/validate.js":38}],18:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getWindow=getWindow;exports.getDocument=getDocument;exports.getDocumentFragmentFromString=getDocumentFragmentFromString;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _global.Monster}});var _global=require("../types/global.js");var _validate=require("../types/validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function getDocument(){var _getGlobal;var document=(_getGlobal=(0,_global.getGlobal)())===null||_getGlobal===void 0?void 0:_getGlobal["document"];if(_typeof(document)!=="object"){throw new Error("not supported environment")}return document}function getWindow(){var _getGlobal2;var window=(_getGlobal2=(0,_global.getGlobal)())===null||_getGlobal2===void 0?void 0:_getGlobal2["window"];if(_typeof(window)!=="object"){throw new Error("not supported environment")}return window}function getDocumentFragmentFromString(html){(0,_validate.validateString)(html);var document=getDocument();var template=document.createElement("template");template.innerHTML=html;return template.content}_global.Monster.assignToNamespace("Monster.DOM",getWindow,getDocument,getDocumentFragmentFromString)},{"../types/global.js":27,"../types/validate.js":38}],19:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Handler=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");var _logger=require("./logger.js");var _logentry=require("./logentry.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Handler=function(_Base){_inherits(Handler,_Base);var _super=_createSuper(Handler);function Handler(){var _this;_classCallCheck(this,Handler);_this=_super.call(this);_this.loglevel=_logger.OFF;return _this}_createClass(Handler,[{key:"log",value:function log(entry){(0,_validate.validateInstance)(entry,_logentry.LogEntry);if(this.loglevel<entry.getLogLevel()){return false}return true}},{key:"setLogLevel",value:function setLogLevel(loglevel){(0,_validate.validateInteger)(loglevel);this.loglevel=loglevel;return this}},{key:"getLogLevel",value:function getLogLevel(){return this.loglevel}},{key:"setAll",value:function setAll(){this.setLogLevel(_logger.ALL);return this}},{key:"setTrace",value:function setTrace(){this.setLogLevel(_logger.TRACE);return this}},{key:"setDebug",value:function setDebug(){this.setLogLevel(_logger.DEBUG);return this}},{key:"setInfo",value:function setInfo(){this.setLogLevel(_logger.INFO);return this}},{key:"setWarn",value:function setWarn(){this.setLogLevel(_logger.WARN);return this}},{key:"setError",value:function setError(){this.setLogLevel(_logger.ERROR);return this}},{key:"setFatal",value:function setFatal(){this.setLogLevel(_logger.FATAL);return this}},{key:"setOff",value:function setOff(){this.setLogLevel(_logger.OFF);return this}}]);return Handler}(_base.Base);exports.Handler=Handler;_namespace.Monster.assignToNamespace("Monster.Logging",Handler)},{"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38,"./logentry.js":21,"./logger.js":22}],20:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});Object.defineProperty(exports,"Handler",{enumerable:true,get:function get(){return _handler.Handler}});var _namespace=require("../../namespace.js");var _base=require("../../types/base.js");var _handler=require("../../logging/handler.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ConsoleHandler=function(_Base){_inherits(ConsoleHandler,_Base);var _super=_createSuper(ConsoleHandler);function ConsoleHandler(){_classCallCheck(this,ConsoleHandler);return _super.call(this)}return ConsoleHandler}(_base.Base);_namespace.Monster.assignToNamespace("Monster.Logging",ConsoleHandler)},{"../../logging/handler.js":19,"../../namespace.js":25,"../../types/base.js":26}],21:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.LogEntry=void 0;var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");var _base=require("../types/base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var LogEntry=function(_Base){_inherits(LogEntry,_Base);var _super=_createSuper(LogEntry);function LogEntry(loglevel){var _this;_classCallCheck(this,LogEntry);_this=_super.call(this);(0,_validate.validateInteger)(loglevel);_this.loglevel=loglevel;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this.arguments=args;return _this}_createClass(LogEntry,[{key:"getLogLevel",value:function getLogLevel(){return this.loglevel}},{key:"getArguments",value:function getArguments(){return this.arguments}}]);return LogEntry}(_base.Base);exports.LogEntry=LogEntry;_namespace.Monster.assignToNamespace("Monster.Logging",LogEntry)},{"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38}],22:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.OFF=exports.FATAL=exports.ERROR=exports.WARN=exports.INFO=exports.DEBUG=exports.TRACE=exports.ALL=exports.Logger=void 0;var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");var _handler=require("../logging/handler.js");var _logentry=require("../logging/logentry.js");var _base=require("../types/base.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ALL=255;exports.ALL=ALL;var TRACE=64;exports.TRACE=TRACE;var DEBUG=32;exports.DEBUG=DEBUG;var INFO=16;exports.INFO=INFO;var WARN=8;exports.WARN=WARN;var ERROR=4;exports.ERROR=ERROR;var FATAL=2;exports.FATAL=FATAL;var OFF=0;exports.OFF=OFF;var Logger=function(_Base){_inherits(Logger,_Base);var _super=_createSuper(Logger);function Logger(){var _this;_classCallCheck(this,Logger);_this=_super.call(this);_this.handler=new Set;return _this}_createClass(Logger,[{key:"addHandler",value:function addHandler(handler){(0,_validate.validateObject)(handler);if(!(handler instanceof _handler.Handler)){throw new Error("the handler must be an instance of Handler")}this.handler.add(handler);return this}},{key:"removeHandler",value:function removeHandler(handler){(0,_validate.validateObject)(handler);if(!(handler instanceof _handler.Handler)){throw new Error("the handler must be an instance of Handler")}this.handler["delete"](handler);return this}},{key:"logTrace",value:function logTrace(){triggerLog.apply(this,[TRACE].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logDebug",value:function logDebug(){triggerLog.apply(this,[DEBUG].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logInfo",value:function logInfo(){triggerLog.apply(this,[INFO].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logWarn",value:function logWarn(){triggerLog.apply(this,[WARN].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logError",value:function logError(){triggerLog.apply(this,[ERROR].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logFatal",value:function logFatal(){triggerLog.apply(this,[FATAL].concat(Array.prototype.slice.call(arguments)));return this}},{key:"getLabel",value:function getLabel(level){(0,_validate.validateInteger)(level);if(level===ALL)return"ALL";if(level===TRACE)return"TRACE";if(level===DEBUG)return"DEBUG";if(level===INFO)return"INFO";if(level===WARN)return"WARN";if(level===ERROR)return"ERROR";if(level===FATAL)return"FATAL";if(level===OFF)return"OFF";return"unknown"}},{key:"getLevel",value:function getLevel(label){(0,_validate.validateString)(label);if(label==="ALL")return ALL;if(label==="TRACE")return TRACE;if(label==="DEBUG")return DEBUG;if(label==="INFO")return INFO;if(label==="WARN")return WARN;if(label==="ERROR")return ERROR;if(label==="FATAL")return FATAL;if(label==="OFF")return OFF;return 0}}]);return Logger}(_base.Base);exports.Logger=Logger;_namespace.Monster.assignToNamespace("Monster.Logging",Logger);function triggerLog(loglevel){var logger=this;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}var _iterator=_createForOfIteratorHelper(logger.handler),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var handler=_step.value;handler.log(new _logentry.LogEntry(loglevel,args))}}catch(err){_iterator.e(err)}finally{_iterator.f()}return logger}},{"../logging/handler.js":19,"../logging/logentry.js":21,"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38}],23:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.random=random;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _global.Monster}});var _global=require("../types/global.js");function random(min,max){if(min===undefined){min=0}if(max===undefined){max=MAX}if(max<min){throw new Error("max must be greater than min")}return Math.round(create(min,max))}var MAX=1e9;Math.log2=Math.log2||function(n){return Math.log(n)/Math.log(2)};function create(min,max){var crypt;var globalReference=(0,_global.getGlobal)();crypt=(globalReference===null||globalReference===void 0?void 0:globalReference["crypto"])||(globalReference===null||globalReference===void 0?void 0:globalReference["msCrypto"])||(globalReference===null||globalReference===void 0?void 0:globalReference["crypto"])||undefined;if(typeof crypt==="undefined"){throw new Error("missing crypt")}var rval=0;var range=max-min;if(range<2){return min}var bitsNeeded=Math.ceil(Math.log2(range));if(bitsNeeded>53){throw new Error("we cannot generate numbers larger than 53 bits.")}var bytesNeeded=Math.ceil(bitsNeeded/8);var mask=Math.pow(2,bitsNeeded)-1;var byteArray=new Uint8Array(bytesNeeded);crypt.getRandomValues(byteArray);var p=(bytesNeeded-1)*8;for(var i=0;i<bytesNeeded;i++){rval+=byteArray[i]*Math.pow(2,p);p-=8}rval=rval&mask;if(rval>=range){return create(min,max)}return min+rval}_global.Monster.assignToNamespace("Monster.Math",random)},{"../types/global.js":27}],24:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("./namespace.js");require("./types/base.js");require("./types/global.js");require("./types/id.js");require("./types/is.js");require("./types/observer.js");require("./types/observerlist.js");require("./types/proxyobserver.js");require("./types/queue.js");require("./types/randomid.js");require("./types/stack.js");require("./types/tokenlist.js");require("./types/uniquequeue.js");require("./types/validate.js");require("./types/version.js");require("./math/random.js");require("./data/diff.js");require("./data/pathfinder.js");require("./data/pipe.js");require("./data/transformer.js");require("./logging/handler.js");require("./logging/logentry.js");require("./logging/logger.js");require("./logging/handler/console.js");require("./util/clone.js");require("./util/comparator.js");require("./util/freeze.js");require("./constraints/abstract.js");require("./constraints/abstractoperator.js");require("./constraints/andoperator.js");require("./constraints/invalid.js");require("./constraints/isarray.js");require("./constraints/isobject.js");require("./constraints/oroperator.js");require("./constraints/valid.js");require("./dom/util.js");require("./dom/template.js");require("./dom/handle.js");require("./dom/assembler.js");require("./dom/customelement.js");_namespace.Monster.Util.deepFreeze(_namespace.Monster);var rootName;try{rootName=_namespace.Monster.Types.getGlobalObject("__MonsterRootName__")}catch(e){}if(!rootName)rootName="Monster";_namespace.Monster.Types.getGlobal()[rootName]=_namespace.Monster},{"./constraints/abstract.js":1,"./constraints/abstractoperator.js":2,"./constraints/andoperator.js":3,"./constraints/invalid.js":4,"./constraints/isarray.js":5,"./constraints/isobject.js":6,"./constraints/oroperator.js":7,"./constraints/valid.js":8,"./data/diff.js":9,"./data/pathfinder.js":10,"./data/pipe.js":11,"./data/transformer.js":12,"./dom/assembler.js":13,"./dom/customelement.js":14,"./dom/handle.js":15,"./dom/template.js":16,"./dom/util.js":18,"./logging/handler.js":19,"./logging/handler/console.js":20,"./logging/logentry.js":21,"./logging/logger.js":22,"./math/random.js":23,"./namespace.js":25,"./types/base.js":26,"./types/global.js":27,"./types/id.js":28,"./types/is.js":29,"./types/observer.js":30,"./types/observerlist.js":31,"./types/proxyobserver.js":32,"./types/queue.js":33,"./types/randomid.js":34,"./types/stack.js":35,"./types/tokenlist.js":36,"./types/uniquequeue.js":37,"./types/validate.js":38,"./types/version.js":39,"./util/clone.js":40,"./util/comparator.js":41,"./util/freeze.js":42}],25:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.assignToNamespace=assignToNamespace;exports.Monster=void 0;function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var Namespace=function(){function Namespace(namespace){_classCallCheck(this,Namespace);if(namespace===undefined||typeof namespace!=="string"){throw new Error("namespace is not a string")}this.namespace=namespace}_createClass(Namespace,[{key:"getNamespace",value:function getNamespace(){return this.namespace}},{key:"toString",value:function toString(){return this.getNamespace()}}]);return Namespace}();var Monster=new Namespace("Monster");exports.Monster=Monster;assignToNamespace("Monster",assignToNamespace);function assignToNamespace(ns){var current=namespaceFor(ns.split("."));for(var i=0,l=arguments.length<=1?0:arguments.length-1;i<l;i++){current[objectName(i+1<1||arguments.length<=i+1?undefined:arguments[i+1])]=i+1<1||arguments.length<=i+1?undefined:arguments[i+1]}}function objectName(fn){try{if(typeof fn!=="function"){throw new Error("the first argument is not a function or class.")}if(fn.hasOwnProperty("name")){return fn.name}if("function"===typeof fn.toString){var s=fn.toString();var f=s.match(/^\s*function\s+([^\s(]+)/);if(Array.isArray(f)&&typeof f[1]==="string"){return f[1]}var c=s.match(/^\s*class\s+([^\s(]+)/);if(Array.isArray(c)&&typeof c[1]==="string"){return c[1]}}}catch(e){throw new Error("exception "+e)}throw new Error("the name of the class or function cannot be resolved.")}function namespaceFor(parts){var space=Monster,ns="Monster";for(var i=0;i<parts.length;i++){if("Monster"===parts[i]){continue}ns+="."+parts[i];if(!space.hasOwnProperty(parts[i])){space[parts[i]]=new Namespace(ns)}space=space[parts[i]]}return space}},{}],26:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Base=void 0;var _namespace=require("../namespace.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class)_setPrototypeOf(instance,Class.prototype);return instance}}return _construct.apply(null,arguments)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Base=function(_Object){_inherits(Base,_Object);var _super=_createSuper(Base);function Base(){_classCallCheck(this,Base);return _super.apply(this,arguments)}_createClass(Base,[{key:"toString",value:function toString(){return JSON.stringify(this)}}]);return Base}(_wrapNativeSuper(Object));exports.Base=Base;_namespace.Monster.assignToNamespace("Monster.Types",Base)},{"../namespace.js":25}],27:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getGlobal=getGlobal;exports.getGlobalObject=getGlobalObject;exports.getGlobalFunction=getGlobalFunction;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _validate=require("./validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}var globalReference;(function(){if((typeof globalThis==="undefined"?"undefined":_typeof(globalThis))==="object"){globalReference=globalThis;return}Object.defineProperty(Object.prototype,"__monster__",{get:function get(){return this},configurable:true});__monster__.globalThis=__monster__;delete Object.prototype.__monster__;globalReference=globalThis})();function getGlobal(){return globalReference}function getGlobalObject(name){var _globalReference;(0,_validate.validateString)(name);var o=(_globalReference=globalReference)===null||_globalReference===void 0?void 0:_globalReference[name];if(typeof o==="undefined")throw new Error("the object "+name+" is not defined");(0,_validate.validateObject)(o);return o}function getGlobalFunction(name){var _globalReference2;(0,_validate.validateString)(name);var f=(_globalReference2=globalReference)===null||_globalReference2===void 0?void 0:_globalReference2[name];if(typeof f==="undefined")throw new Error("the function "+name+" is not defined");(0,_validate.validateFunction)(f);return f}_namespace.Monster.assignToNamespace("Monster.Types",getGlobal,getGlobalObject,getGlobalFunction)},{"../namespace.js":25,"./validate.js":38}],28:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.ID=void 0;var _base=require("./base.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var internalCounter=new Map;var ID=function(_Base){_inherits(ID,_Base);var _super=_createSuper(ID);function ID(prefix){var _this;_classCallCheck(this,ID);_this=_super.call(this);if(prefix===undefined){prefix="id"}(0,_validate.validateString)(prefix);if(!internalCounter.has(prefix)){internalCounter.set(prefix,1)}var count=internalCounter.get(prefix);_this.id=prefix+count;internalCounter.set(prefix,++count);return _this}_createClass(ID,[{key:"toString",value:function toString(){return this.id}}]);return ID}(_base.Base);exports.ID=ID;_base.Monster.assignToNamespace("Monster.Types",ID)},{"./base.js":26,"./validate.js":38}],29:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.isPrimitive=isPrimitive;exports.isBoolean=isBoolean;exports.isString=isString;exports.isObject=isObject;exports.isInstance=isInstance;exports.isArray=isArray;exports.isFunction=isFunction;exports.isIterable=isIterable;exports.isInteger=isInteger;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function isIterable(value){if(value===undefined)return false;if(value===null)return false;return typeof(value===null||value===void 0?void 0:value[Symbol.iterator])==="function"}function isPrimitive(value){var type;if(value===undefined||value===null||value===NaN){return true}type=_typeof(value);if(type==="string"||type==="number"||type==="boolean"||type==="symbol"){return true}return false}function isBoolean(value){if(value===true||value===false){return true}return false}function isString(value){if(value===undefined||typeof value!=="string"){return false}return true}function isObject(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(_typeof(value)==="object"){return true}return false}function isInstance(value,instance){if(!isObject(value))return false;if(!isFunction(instance))return false;if(!instance.hasOwnProperty("prototype"))return false;return value instanceof instance?true:false}function isArray(value){if(Array.isArray(value)){return true}return false}function isFunction(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(typeof value==="function"){return true}return false}function isInteger(value){return Number.isInteger(value)}_namespace.Monster.assignToNamespace("Monster.Types",isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInteger)},{"../namespace.js":25}],30:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Observer=void 0;var _namespace=require("../namespace.js");var _tokenlist=require("./tokenlist.js");var _is=require("./is.js");var _base=require("./base.js");var _uniquequeue=require("./uniquequeue.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Observer=function(_Base){_inherits(Observer,_Base);var _super=_createSuper(Observer);function Observer(callback){var _this;_classCallCheck(this,Observer);_this=_super.call(this);if(typeof callback!=="function"){throw new Error("observer callback must be a function")}_this.callback=callback;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this.arguments=args;_this.tags=new _tokenlist.TokenList;_this.queue=new _uniquequeue.UniqueQueue;return _this}_createClass(Observer,[{key:"addTag",value:function addTag(tag){this.tags.add(tag);return this}},{key:"removeTag",value:function removeTag(tag){this.tags.remove(tag);return this}},{key:"getTags",value:function getTags(){return this.tags.entries()}},{key:"hasTag",value:function hasTag(tag){return this.tags.contains(tag)}},{key:"update",value:function update(subject){var self=this;return new Promise(function(resolve,reject){if(!(0,_is.isObject)(subject)){reject("subject must be an object");return}self.queue.add(subject);setTimeout(function(){if(self.queue.isEmpty()){resolve();return}var s=self.queue.poll();var result=self.callback.apply(s,self.arguments);if((0,_is.isObject)(result)&&result instanceof Promise){result.then(resolve)["catch"](reject);return}resolve(result)},0)})}}]);return Observer}(_base.Base);exports.Observer=Observer;_namespace.Monster.assignToNamespace("Monster.Types",Observer)},{"../namespace.js":25,"./base.js":26,"./is.js":29,"./tokenlist.js":36,"./uniquequeue.js":37}],31:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ObserverList=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _observer=require("./observer.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ObserverList=function(_Base){_inherits(ObserverList,_Base);var _super=_createSuper(ObserverList);function ObserverList(){var _this;_classCallCheck(this,ObserverList);_this=_super.call(this);_this.observers=[];return _this}_createClass(ObserverList,[{key:"attach",value:function attach(observer){(0,_validate.validateInstance)(observer,_observer.Observer);this.observers.push(observer);return this}},{key:"detach",value:function detach(observer){(0,_validate.validateInstance)(observer,_observer.Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){this.observers.splice(i,1)}}return this}},{key:"contains",value:function contains(observer){(0,_validate.validateInstance)(observer,_observer.Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){return true}}return false}},{key:"notify",value:function notify(subject){var pomises=[];var i=0,l=this.observers.length;for(;i<l;i++){pomises.push(this.observers[i].update(subject))}return Promise.all(pomises)}}]);return ObserverList}(_base.Base);exports.ObserverList=ObserverList;_namespace.Monster.assignToNamespace("Monster.Types",ObserverList)},{"../namespace.js":25,"./base.js":26,"./observer.js":30,"./validate.js":38}],32:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ProxyObserver=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _validate=require("./validate.js");var _observerlist=require("./observerlist.js");var _observer=require("./observer.js");var _is=require("./is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ProxyObserver=function(_Base){_inherits(ProxyObserver,_Base);var _super=_createSuper(ProxyObserver);function ProxyObserver(object){var _this;_classCallCheck(this,ProxyObserver);_this=_super.call(this);(0,_validate.validateObject)(object);_this.realSubject=object;_this.subject=new Proxy(object,getHandler.call(_assertThisInitialized(_this)));_this.objectMap=new WeakMap;_this.objectMap.set(_this.realSubject,_this.subject);_this.observers=new _observerlist.ObserverList;return _this}_createClass(ProxyObserver,[{key:"getSubject",value:function getSubject(){return this.subject}},{key:"getRealSubject",value:function getRealSubject(){return this.realSubject}},{key:"attachObserver",value:function attachObserver(observer){this.observers.attach(observer);return this}},{key:"detachObserver",value:function detachObserver(observer){this.observers.detach(observer);return this}},{key:"notifyObservers",value:function notifyObservers(){this.observers.notify(this);return this}},{key:"containsObserver",value:function containsObserver(observer){return this.observers.contains(observer)}}]);return ProxyObserver}(_base.Base);exports.ProxyObserver=ProxyObserver;_namespace.Monster.assignToNamespace("Monster.Types",ProxyObserver);function getHandler(){var proxy=this;var handler={get:function get(target,key,receiver){var value=Reflect.get(target,key,receiver);if(_typeof(key)==="symbol"){return value}if((0,_is.isPrimitive)(value)){return value}if((0,_is.isArray)(value)||(0,_is.isObject)(value)){if(proxy.objectMap.has(value)){return proxy.objectMap.get(value)}else{var p=new Proxy(value,handler);proxy.objectMap.set(value,p);return p}}return value},set:function set(target,key,value,receiver){var result=Reflect.set(target,key,value,receiver);if((typeof property==="undefined"?"undefined":_typeof(property))!=="symbol"){proxy.observers.notify(proxy)}return result},deleteProperty:function deleteProperty(target,key){if(key in target){delete target[key];if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return true}return false},defineProperty:function defineProperty(target,key,descriptor){var result=Reflect.defineProperty(target,key,descriptor);if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return result},setPrototypeOf:function setPrototypeOf(target,key){var result=Reflect.setPrototypeOf(object1,key);if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return result}};return handler}},{"../namespace.js":25,"./base.js":26,"./is.js":29,"./observer.js":30,"./observerlist.js":31,"./validate.js":38}],33:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Queue=void 0;var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Queue=function(_Base){_inherits(Queue,_Base);var _super=_createSuper(Queue);function Queue(){var _this;_classCallCheck(this,Queue);_this=_super.call(this);_this.data=[];return _this}_createClass(Queue,[{key:"isEmpty",value:function isEmpty(){return this.data.length===0}},{key:"peek",value:function peek(){if(this.isEmpty()){return undefined}return this.data[0]}},{key:"add",value:function add(value){this.data.push(value);return this}},{key:"clear",value:function clear(){this.data=[];return this}},{key:"poll",value:function poll(){if(this.isEmpty()){return undefined}return this.data.shift()}}]);return Queue}(_base.Base);exports.Queue=Queue;_base.Monster.assignToNamespace("Monster.Types",Queue)},{"./base.js":26}],34:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _id.Monster}});exports.RandomID=void 0;var _id=require("./id.js");var _global=require("./global.js");var _random=require("../math/random.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var internalCounter=0;var RandomID=function(_ID){_inherits(RandomID,_ID);var _super=_createSuper(RandomID);function RandomID(){var _this;_classCallCheck(this,RandomID);_this=_super.call(this);internalCounter+=1;_this.id=(0,_global.getGlobal)().btoa((0,_random.random)(1,1e4)).replace(/=/g,"").replace(/^[0-9]+/,"X")+internalCounter;return _this}return RandomID}(_id.ID);exports.RandomID=RandomID;_id.Monster.assignToNamespace("Monster.Types",RandomID)},{"../math/random.js":23,"./global.js":27,"./id.js":28}],35:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Stack=void 0;var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Stack=function(_Base){_inherits(Stack,_Base);var _super=_createSuper(Stack);function Stack(){var _this;_classCallCheck(this,Stack);_this=_super.call(this);_this.data=[];return _this}_createClass(Stack,[{key:"isEmpty",value:function isEmpty(){return this.data.length===0}},{key:"peek",value:function peek(){var _this$data;if(this.isEmpty()){return undefined}return(_this$data=this.data)===null||_this$data===void 0?void 0:_this$data[this.data.length-1]}},{key:"push",value:function push(value){this.data.push(value);return this}},{key:"clear",value:function clear(){this.data=[];return this}},{key:"pop",value:function pop(){if(this.isEmpty()){return undefined}return this.data.pop()}}]);return Stack}(_base.Base);exports.Stack=Stack;_base.Monster.assignToNamespace("Monster.Types",Stack)},{"./base.js":26}],36:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.TokenList=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _is=require("../types/is.js");var _validate=require("../types/validate.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var TokenList=function(_Base){_inherits(TokenList,_Base);var _super=_createSuper(TokenList);function TokenList(init){var _this;_classCallCheck(this,TokenList);_this=_super.call(this);_this.tokens=new Set;if(typeof init!=="undefined"){_this.add(init)}return _this}_createClass(TokenList,[{key:"getIterator",value:function getIterator(){return this[Symbol.iterator]()}},{key:Symbol.iterator,value:function value(){var index=0;var entries=this.entries();return{next:function next(){if(index<entries.length){return{value:entries===null||entries===void 0?void 0:entries[index++],done:false}}else{return{done:true}}}}}},{key:"contains",value:function contains(value){var _this2=this;if((0,_is.isString)(value)){value=value.trim();var counter=0;value.split(" ").forEach(function(token){if(_this2.tokens.has(token.trim())===false)return false;counter++});return counter>0?true:false}if((0,_is.isIterable)(value)){var _counter=0;var _iterator=_createForOfIteratorHelper(value),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var token=_step.value;(0,_validate.validateString)(token);if(this.tokens.has(token.trim())===false)return false;_counter++}}catch(err){_iterator.e(err)}finally{_iterator.f()}return _counter>0?true:false}return false}},{key:"add",value:function add(value){var _this3=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){_this3.tokens.add(token.trim())})}else if((0,_is.isIterable)(value)){var _iterator2=_createForOfIteratorHelper(value),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var token=_step2.value;(0,_validate.validateString)(token);this.tokens.add(token.trim())}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"clear",value:function clear(){this.tokens.clear();return this}},{key:"remove",value:function remove(value){var _this4=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){_this4.tokens["delete"](token.trim())})}else if((0,_is.isIterable)(value)){var _iterator3=_createForOfIteratorHelper(value),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var token=_step3.value;(0,_validate.validateString)(token);this.tokens["delete"](token.trim())}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"replace",value:function replace(token,newToken){(0,_validate.validateString)(token);(0,_validate.validateString)(newToken);if(!this.contains(token)){return this}var a=Array.from(this.tokens);var i=a.indexOf(token);if(i===-1)return this;a.splice(i,1,newToken);this.tokens=new Set;this.add(a);return this}},{key:"toggle",value:function toggle(value){var _this5=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){toggleValue.call(_this5,token)})}else if((0,_is.isIterable)(value)){var _iterator4=_createForOfIteratorHelper(value),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var token=_step4.value;toggleValue.call(this,token)}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"entries",value:function entries(){return Array.from(this.tokens)}},{key:"forEach",value:function forEach(callback){(0,_validate.validateFunction)(callback);this.tokens.forEach(callback);return this}},{key:"toString",value:function toString(){return this.entries().join(" ")}}]);return TokenList}(_base.Base);exports.TokenList=TokenList;function toggleValue(token){if(!(this instanceof TokenList))throw Error("must be called with TokenList.call");(0,_validate.validateString)(token);token=token.trim();if(this.contains(token)){this.remove(token);return this}this.add(token);return this}_namespace.Monster.assignToNamespace("Monster.Types",TokenList)},{"../namespace.js":25,"../types/is.js":29,"../types/validate.js":38,"./base.js":26}],37:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _queue.Monster}});exports.UniqueQueue=void 0;var _queue=require("./queue.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _get(target,property,receiver){if(typeof Reflect!=="undefined"&&Reflect.get){_get=Reflect.get}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(receiver)}return desc.value}}return _get(target,property,receiver||target)}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break}return object}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var UniqueQueue=function(_Queue){_inherits(UniqueQueue,_Queue);var _super=_createSuper(UniqueQueue);function UniqueQueue(){var _this;_classCallCheck(this,UniqueQueue);_this=_super.call(this);_this.unique=new WeakSet;return _this}_createClass(UniqueQueue,[{key:"add",value:function add(value){(0,_validate.validateObject)(value);if(!this.unique.has(value)){this.unique.add(value);_get(_getPrototypeOf(UniqueQueue.prototype),"add",this).call(this,value)}return this}},{key:"clear",value:function clear(){_get(_getPrototypeOf(UniqueQueue.prototype),"clear",this).call(this);this.unique=new WeakSet;return this}},{key:"poll",value:function poll(){if(this.isEmpty()){return undefined}var value=this.data.shift();this.unique["delete"](value);return value}}]);return UniqueQueue}(_queue.Queue);exports.UniqueQueue=UniqueQueue;_queue.Monster.assignToNamespace("Monster.Types",UniqueQueue)},{"./queue.js":33,"./validate.js":38}],38:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.validatePrimitive=validatePrimitive;exports.validateBoolean=validateBoolean;exports.validateString=validateString;exports.validateObject=validateObject;exports.validateInstance=validateInstance;exports.validateArray=validateArray;exports.validateFunction=validateFunction;exports.validateIterable=validateIterable;exports.validateInteger=validateInteger;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _is=require("./is.js");function validateIterable(value){if(!(0,_is.isIterable)(value)){throw new TypeError("value is not iterable")}}function validatePrimitive(value){if(!(0,_is.isPrimitive)(value)){throw new TypeError("value is not a primitive")}}function validateBoolean(value){if(!(0,_is.isBoolean)(value)){throw new TypeError("value is not a boolean")}}function validateString(value){if(!(0,_is.isString)(value)){throw new TypeError("value is not a string")}}function validateObject(value){if(!(0,_is.isObject)(value)){throw new TypeError("value is not a object")}}function validateInstance(value,instance){if(!(0,_is.isInstance)(value,instance)){var n="";if((0,_is.isObject)(instance)||(0,_is.isFunction)(instance)){n=instance===null||instance===void 0?void 0:instance["name"]}if(n){n=" "+n}throw new TypeError("value is not an instance of"+n)}}function validateArray(value){if(!(0,_is.isArray)(value)){throw new TypeError("value is not an array")}}function validateFunction(value){if(!(0,_is.isFunction)(value)){throw new TypeError("value is not a function")}}function validateInteger(value){if(!(0,_is.isInteger)(value)){throw new TypeError("value is not an integer")}}_namespace.Monster.assignToNamespace("Monster.Types",validatePrimitive,validateBoolean,validateString,validateObject,validateArray,validateFunction,validateIterable,validateInteger)},{"../namespace.js":25,"./is.js":29}],39:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getVersion=getVersion;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Version=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Version=function(_Base){_inherits(Version,_Base);var _super=_createSuper(Version);function Version(major,minor,patch){var _this;_classCallCheck(this,Version);_this=_super.call(this);if(typeof major==="string"&&minor===undefined&&patch===undefined){var parts=major.toString().split(".");major=parseInt(parts[0]||0);minor=parseInt(parts[1]||0);patch=parseInt(parts[2]||0)}if(major===undefined){throw new Error("major version is undefined")}if(minor===undefined){minor=0}if(patch===undefined){patch=0}_this.major=parseInt(major);_this.minor=parseInt(minor);_this.patch=parseInt(patch);if(isNaN(_this.major)){throw new Error("major is not a number")}if(isNaN(_this.minor)){throw new Error("minor is not a number")}if(isNaN(_this.patch)){throw new Error("patch is not a number")}return _this}_createClass(Version,[{key:"toString",value:function toString(){return this.major+"."+this.minor+"."+this.patch}},{key:"compareTo",value:function compareTo(version){if(version instanceof Version){version=version.toString()}if(typeof version!=="string"){throw new Error("type exception")}if(version===this.toString()){return 0}var a=[this.major,this.minor,this.patch];var b=version.split(".");var len=Math.max(a.length,b.length);for(var i=0;i<len;i+=1){if(a[i]&&!b[i]&&parseInt(a[i])>0||parseInt(a[i])>parseInt(b[i])){return 1}else if(b[i]&&!a[i]&&parseInt(b[i])>0||parseInt(a[i])<parseInt(b[i])){return-1}}return 0}}]);return Version}(_base.Base);exports.Version=Version;_namespace.Monster.assignToNamespace("Monster.Types",Version);var monsterVersion;function getVersion(){if(monsterVersion instanceof Version){return monsterVersion}monsterVersion=new Version("1.7.0");return monsterVersion}_namespace.Monster.assignToNamespace("Monster",getVersion)},{"../namespace.js":25,"./base.js":26}],40:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.clone=clone;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _is=require("../types/is.js");var _global=require("../types/global.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function clone(obj){if(null===obj){return obj}if((0,_is.isPrimitive)(obj)){return obj}if((0,_is.isFunction)(obj)){return obj}if((0,_is.isArray)(obj)){var copy=[];for(var i=0,len=obj.length;i<len;i++){copy[i]=clone(obj[i])}return copy}if((0,_is.isObject)(obj)){if(obj instanceof Date){var _copy=new Date;_copy.setTime(obj.getTime());return _copy}if(typeof Element!=="undefined"&&obj instanceof Element)return obj;if(typeof HTMLDocument!=="undefined"&&obj instanceof HTMLDocument)return obj;if(typeof DocumentFragment!=="undefined"&&obj instanceof DocumentFragment)return obj;if(obj===(0,_global.getGlobal)())return obj;if(typeof globalContext!=="undefined"&&obj===globalContext)return obj;if(typeof window!=="undefined"&&obj===window)return obj;if(typeof document!=="undefined"&&obj===document)return obj;if(typeof navigator!=="undefined"&&obj===navigator)return obj;if(typeof JSON!=="undefined"&&obj===JSON)return obj;try{if(obj instanceof Proxy){return obj}}catch(e){}return cloneObject(obj)}throw new Error("unable to clone obj! its type isn't supported.")}function cloneObject(obj){var copy;if(_typeof(obj.hasOwnProperty("getClone"))&&obj.getClone==="function"){return obj.getClone()}copy={};if(typeof obj.constructor==="function"&&typeof obj.constructor.call==="function"){copy=new obj.constructor}for(var key in obj){if(!obj.hasOwnProperty(key)){continue}if(_namespace.Monster.Types.isPrimitive(obj[key])){copy[key]=obj[key];continue}copy[key]=clone(obj[key])}return copy}_namespace.Monster.assignToNamespace("Monster.Util",clone)},{"../namespace.js":25,"../types/global.js":27,"../types/is.js":29}],41:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Comparator=void 0;var _base=require("../types/base.js");var _is=require("../types/is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Comparator=function(_Base){_inherits(Comparator,_Base);var _super=_createSuper(Comparator);function Comparator(callback){var _this;_classCallCheck(this,Comparator);_this=_super.call(this);if((0,_is.isFunction)(callback)){_this.compare=callback}else if(callback!==undefined){throw new TypeError("unsupported type")}else{_this.compare=function(a,b){if(_typeof(a)!==_typeof(b)){throw new TypeError("impractical comparison")}if(a===b){return 0}return a<b?-1:1}}return _this}_createClass(Comparator,[{key:"reverse",value:function reverse(){var original=this.compare;this.compare=function(a,b){return original(b,a)};return this}},{key:"equal",value:function equal(a,b){return this.compare(a,b)===0}},{key:"greaterThan",value:function greaterThan(a,b){return this.compare(a,b)>0}},{key:"greaterThanOrEqual",value:function greaterThanOrEqual(a,b){return this.greaterThan(a,b)||this.equal(a,b)}},{key:"lessThanOrEqual",value:function lessThanOrEqual(a,b){return this.lessThan(a,b)||this.equal(a,b)}},{key:"lessThan",value:function lessThan(a,b){return this.compare(a,b)<0}}]);return Comparator}(_base.Base);exports.Comparator=Comparator;_base.Monster.assignToNamespace("Monster.Util",Comparator)},{"../types/base.js":26,"../types/is.js":29}],42:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.deepFreeze=deepFreeze;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function deepFreeze(object){(0,_validate.validateObject)(object);var propNames=Object.getOwnPropertyNames(object);var _iterator=_createForOfIteratorHelper(propNames),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var name=_step.value;var value=object[name];object[name]=value&&_typeof(value)==="object"?deepFreeze(value):value}}catch(err){_iterator.e(err)}finally{_iterator.f()}return Object.freeze(object)}_namespace.Monster.assignToNamespace("Monster.Util",deepFreeze)},{"../namespace.js":25,"../types/validate.js":38}]},{},[24]); +/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */ +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.AbstractConstraint=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AbstractConstraint=function(_Base){_inherits(AbstractConstraint,_Base);var _super=_createSuper(AbstractConstraint);function AbstractConstraint(){_classCallCheck(this,AbstractConstraint);return _super.call(this)}_createClass(AbstractConstraint,[{key:"isValid",value:function isValid(value){return Promise.reject(value)}}]);return AbstractConstraint}(_base.Base);exports.AbstractConstraint=AbstractConstraint;_namespace.Monster.assignToNamespace("Monster.Constraints",AbstractConstraint)},{"../namespace.js":26,"../types/base.js":27}],2:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.AbstractOperator=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AbstractOperator=function(_AbstractConstraint){_inherits(AbstractOperator,_AbstractConstraint);var _super=_createSuper(AbstractOperator);function AbstractOperator(operantA,operantB){var _this;_classCallCheck(this,AbstractOperator);_this=_super.call(this);if(!(operantA instanceof _abstract.AbstractConstraint)||!(operantB instanceof _abstract.AbstractConstraint)){throw new TypeError("parameters must be from type AbstractConstraint")}_this.operantA=operantA;_this.operantB=operantB;return _this}return AbstractOperator}(_abstract.AbstractConstraint);exports.AbstractOperator=AbstractOperator;_abstract.Monster.assignToNamespace("Monster.Constraints",AbstractOperator)},{"./abstract.js":1}],3:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.AndOperator=void 0;var _abstract=require("./abstract.js");var _abstractoperator=require("./abstractoperator.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AndOperator=function(_AbstractOperator){_inherits(AndOperator,_AbstractOperator);var _super=_createSuper(AndOperator);function AndOperator(){_classCallCheck(this,AndOperator);return _super.apply(this,arguments)}_createClass(AndOperator,[{key:"isValid",value:function isValid(value){return Promise.all([this.operantA.isValid(value),this.operantB.isValid(value)])}}]);return AndOperator}(_abstractoperator.AbstractOperator);exports.AndOperator=AndOperator;_abstract.Monster.assignToNamespace("Monster.Constraints",AndOperator)},{"./abstract.js":1,"./abstractoperator.js":2}],4:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.Invalid=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Invalid=function(_AbstractConstraint){_inherits(Invalid,_AbstractConstraint);var _super=_createSuper(Invalid);function Invalid(){_classCallCheck(this,Invalid);return _super.apply(this,arguments)}_createClass(Invalid,[{key:"isValid",value:function isValid(value){return Promise.reject(value)}}]);return Invalid}(_abstract.AbstractConstraint);exports.Invalid=Invalid;_abstract.Monster.assignToNamespace("Monster.Constraints",Invalid)},{"./abstract.js":1}],5:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.IsArray=void 0;var _abstract=require("./abstract.js");var _is=require("../types/is.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var IsArray=function(_AbstractConstraint){_inherits(IsArray,_AbstractConstraint);var _super=_createSuper(IsArray);function IsArray(){_classCallCheck(this,IsArray);return _super.apply(this,arguments)}_createClass(IsArray,[{key:"isValid",value:function isValid(value){if((0,_is.isArray)(value)){return Promise.resolve(value)}return Promise.reject(value)}}]);return IsArray}(_abstract.AbstractConstraint);exports.IsArray=IsArray;_abstract.Monster.assignToNamespace("Monster.Constraints",IsArray)},{"../types/is.js":30,"./abstract.js":1}],6:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.IsObject=void 0;var _abstract=require("./abstract.js");var _is=require("../types/is.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var IsObject=function(_AbstractConstraint){_inherits(IsObject,_AbstractConstraint);var _super=_createSuper(IsObject);function IsObject(){_classCallCheck(this,IsObject);return _super.apply(this,arguments)}_createClass(IsObject,[{key:"isValid",value:function isValid(value){if((0,_is.isObject)(value)){return Promise.resolve(value)}return Promise.reject(value)}}]);return IsObject}(_abstract.AbstractConstraint);exports.IsObject=IsObject;_abstract.Monster.assignToNamespace("Monster.Constraints",IsObject)},{"../types/is.js":30,"./abstract.js":1}],7:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstractoperator.Monster}});exports.OrOperator=void 0;var _abstractoperator=require("./abstractoperator.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var OrOperator=function(_AbstractOperator){_inherits(OrOperator,_AbstractOperator);var _super=_createSuper(OrOperator);function OrOperator(){_classCallCheck(this,OrOperator);return _super.apply(this,arguments)}_createClass(OrOperator,[{key:"isValid",value:function isValid(value){var self=this;return new Promise(function(resolve,reject){var a,b;self.operantA.isValid(value).then(function(){resolve()})["catch"](function(){a=false;if(b===false){reject()}});self.operantB.isValid(value).then(function(){resolve()})["catch"](function(){b=false;if(a===false){reject()}})})}}]);return OrOperator}(_abstractoperator.AbstractOperator);exports.OrOperator=OrOperator;_abstractoperator.Monster.assignToNamespace("Monster.Constraints",OrOperator)},{"./abstractoperator.js":2}],8:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.Valid=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Valid=function(_AbstractConstraint){_inherits(Valid,_AbstractConstraint);var _super=_createSuper(Valid);function Valid(){_classCallCheck(this,Valid);return _super.apply(this,arguments)}_createClass(Valid,[{key:"isValid",value:function isValid(value){return Promise.resolve(value)}}]);return Valid}(_abstract.AbstractConstraint);exports.Valid=Valid;_abstract.Monster.assignToNamespace("Monster.Constraints",Valid)},{"./abstract.js":1}],9:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Diff=Diff;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _is.Monster}});var _is=require("../types/is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function Diff(first,second){return doDiff(first,second)}function getKeys(a,b,type){if((0,_is.isArray)(type)){var keys=a.length>b.length?new Array(a.length):new Array(b.length);keys.fill(0);return new Set(keys.map(function(_,i){return i}))}return new Set(Object.keys(a).concat(Object.keys(b)))}function doDiff(a,b,path,diff){var typeA=_typeof(a);var typeB=_typeof(b);var currPath=path||[];var currDiff=diff||[];if(typeA===typeB&&typeA==="object"){getKeys(a,b,typeA).forEach(function(v){if(!Object.prototype.hasOwnProperty.call(a,v)){currDiff.push(buildResult(a[v],b[v],"add",currPath.concat(v)))}else if(!Object.prototype.hasOwnProperty.call(b,v)){currDiff.push(buildResult(a[v],b[v],"delete",currPath.concat(v)))}else{doDiff(a[v],b[v],currPath.concat(v),currDiff)}})}else{var o=getOperator(a,b,typeA,typeB);if(o!==undefined){currDiff.push(buildResult(a,b,o,path))}}return currDiff}function buildResult(a,b,operator,path){var result={operator:operator,path:path};if(operator!=="add"){result.first={value:a,type:_typeof(a)};if((0,_is.isObject)(a)){var _Object$getPrototypeO,_Object$getPrototypeO2;var name=(_Object$getPrototypeO=Object.getPrototypeOf(a))===null||_Object$getPrototypeO===void 0?void 0:(_Object$getPrototypeO2=_Object$getPrototypeO.constructor)===null||_Object$getPrototypeO2===void 0?void 0:_Object$getPrototypeO2.name;if(name!==undefined){result.first.instance=name}}}if(operator==="add"||operator==="update"){result.second={value:b,type:_typeof(b)};if((0,_is.isObject)(b)){var _Object$getPrototypeO3,_Object$getPrototypeO4;var _name=(_Object$getPrototypeO3=Object.getPrototypeOf(b))===null||_Object$getPrototypeO3===void 0?void 0:(_Object$getPrototypeO4=_Object$getPrototypeO3.constructor)===null||_Object$getPrototypeO4===void 0?void 0:_Object$getPrototypeO4.name;if(_name!==undefined){result.second.instance=_name}}}return result}function isNotEqual(a,b){if(_typeof(a)!==_typeof(b)){return true}if(a instanceof Date&&b instanceof Date){return a.getTime()!==b.getTime()}return a!==b}function getOperator(a,b){var operator;var typeA=_typeof(a);var typeB=_typeof(b);if(typeA==="undefined"&&typeB!=="undefined"){operator="add"}else if(typeA!=="undefined"&&typeB==="undefined"){operator="delete"}else if(isNotEqual(a,b)){operator="update"}return operator}_is.Monster.assignToNamespace("Monster.Data",Diff)},{"../types/is.js":30}],10:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Pathfinder=void 0;var _namespace=require("../namespace.js");var _is=require("../types/is.js");var _validate=require("../types/validate.js");var _base=require("../types/base.js");var _stack=require("../types/stack.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DELIMITER=".";var WILDCARD="*";var Pathfinder=function(_Base){_inherits(Pathfinder,_Base);var _super=_createSuper(Pathfinder);function Pathfinder(object){var _this;_classCallCheck(this,Pathfinder);_this=_super.call(this);_this.object=object;_this.wildCard=WILDCARD;return _this}_createClass(Pathfinder,[{key:"setWildCard",value:function setWildCard(wildcard){(0,_validate.validateString)(wildcard);this.wildCard=wildcard;return this}},{key:"getVia",value:function getVia(path){(0,_validate.validateString)(path);return getValueViaPath.call(this,this.object,path)}},{key:"setVia",value:function setVia(path,value){(0,_validate.validateString)(path);setValueViaPath.call(this,this.object,path,value);return this}},{key:"deleteVia",value:function deleteVia(path){(0,_validate.validateString)(path);deleteValueViaPath.call(this,this.object,path);return this}},{key:"exists",value:function exists(path){(0,_validate.validateString)(path);try{getValueViaPath.call(this,this.object,path,true);return true}catch(e){}return false}}]);return Pathfinder}(_base.Base);exports.Pathfinder=Pathfinder;_namespace.Monster.assignToNamespace("Monster.Data",Pathfinder);function iterate(subject,path,check){var result=new Map;if((0,_is.isObject)(subject)||(0,_is.isArray)(subject)){for(var _i=0,_Object$entries=Object.entries(subject);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),key=_Object$entries$_i[0],value=_Object$entries$_i[1];result.set(key,getValueViaPath.call(this,value,path,check))}}else{var _key=path.split(DELIMITER).shift();result.set(_key,getValueViaPath.call(this,subject,path,check))}return result}function getValueViaPath(subject,path,check){if(path===""){return subject}var parts=path.split(DELIMITER);var current=parts.shift();if(current===this.wildCard){return iterate.call(this,subject,parts.join(DELIMITER),check)}if((0,_is.isObject)(subject)||(0,_is.isArray)(subject)){var anchor;if(subject instanceof Map||subject instanceof WeakMap){anchor=subject.get(current)}else if(subject instanceof Set||subject instanceof WeakSet){var _ref;current=parseInt(current);(0,_validate.validateInteger)(current);anchor=(_ref=_toConsumableArray(subject))===null||_ref===void 0?void 0:_ref[current]}else if(subject instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(subject)){current=parseInt(current);(0,_validate.validateInteger)(current);anchor=subject===null||subject===void 0?void 0:subject[current]}else{anchor=subject===null||subject===void 0?void 0:subject[current]}if((0,_is.isObject)(anchor)||(0,_is.isArray)(anchor)){return getValueViaPath.call(this,anchor,parts.join(DELIMITER),check)}if(parts.length>0){throw Error("the journey is not at its end ("+parts.join(DELIMITER)+")")}if(check===true&&!subject.hasOwnProperty(current)){throw Error("unknown value")}return anchor}throw TypeError("unsupported type "+_typeof(subject))}function setValueViaPath(object,path,value){(0,_validate.validateString)(path);var parts=path.split(DELIMITER);var last=parts.pop();var subpath=parts.join(DELIMITER);var stack=new _stack.Stack;var current=subpath;while(true){try{getValueViaPath.call(this,object,current,true);break}catch(e){}stack.push(current);parts.pop();current=parts.join(DELIMITER);if(current==="")break}while(!stack.isEmpty()){current=stack.pop();var obj={};if(!stack.isEmpty()){var n=stack.peek().split(DELIMITER).pop();if((0,_is.isInteger)(parseInt(n))){obj=[]}}setValueViaPath.call(this,object,current,obj)}var anchor=getValueViaPath.call(this,object,subpath);if(!(0,_is.isObject)(object)&&!(0,_is.isArray)(object)){throw TypeError("unsupported type: "+_typeof(object))}if(anchor instanceof Map||anchor instanceof WeakMap){anchor.set(last,value)}else if(anchor instanceof Set||anchor instanceof WeakSet){anchor.append(value)}else if(anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(anchor)){last=parseInt(last);(0,_validate.validateInteger)(last);anchor[last]=value}else{anchor[last]=value}return}function deleteValueViaPath(object,path){var parts=path.split(DELIMITER);var last=parts.pop();var subpath=parts.join(DELIMITER);var anchor=getValueViaPath.call(this,object,subpath);if(anchor instanceof Map){anchor["delete"](last)}else if(anchor instanceof Set||anchor instanceof WeakMap||anchor instanceof WeakSet||anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(anchor)){last=parseInt(last);(0,_validate.validateInteger)(last);delete anchor[last]}else{delete anchor[last]}return}},{"../namespace.js":26,"../types/base.js":27,"../types/is.js":30,"../types/stack.js":36,"../types/validate.js":39}],11:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Pipe=void 0;var _namespace=require("../namespace.js");var _transformer=require("./transformer.js");var _base=require("../types/base.js");var _validate=require("../types/validate.js");function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DELIMITER="|";var Pipe=function(_Base){_inherits(Pipe,_Base);var _super=_createSuper(Pipe);function Pipe(pipe){var _this;_classCallCheck(this,Pipe);_this=_super.call(this);(0,_validate.validateString)(pipe);_this.pipe=pipe.split(DELIMITER).map(function(v){return new _transformer.Transformer(v)});return _this}_createClass(Pipe,[{key:"setCallback",value:function setCallback(name,callback){for(var _i=0,_Object$entries=Object.entries(this.pipe);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),t=_Object$entries$_i[1];t.setCallback(name,callback)}return this}},{key:"run",value:function run(value){return this.pipe.reduce(function(accumulator,transformer,currentIndex,array){return transformer.run(accumulator)},value)}}]);return Pipe}(_base.Base);exports.Pipe=Pipe;_namespace.Monster.assignToNamespace("Monster.Data",Pipe)},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39,"./transformer.js":12}],12:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Transformer=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _is=require("../types/is.js");var _id=require("../types/id.js");var _clone=require("../util/clone.js");var _pathfinder=require("./pathfinder.js");function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _wrapRegExp(){_wrapRegExp=function _wrapRegExp(re,groups){return new BabelRegExp(re,undefined,groups)};var _super=RegExp.prototype;var _groups=new WeakMap;function BabelRegExp(re,flags,groups){var _this=new RegExp(re,flags);_groups.set(_this,groups||_groups.get(re));return _setPrototypeOf(_this,BabelRegExp.prototype)}_inherits(BabelRegExp,RegExp);BabelRegExp.prototype.exec=function(str){var result=_super.exec.call(this,str);if(result)result.groups=buildGroups(result,this);return result};BabelRegExp.prototype[Symbol.replace]=function(str,substitution){if(typeof substitution==="string"){var groups=_groups.get(this);return _super[Symbol.replace].call(this,str,substitution.replace(/\$<([^>]+)>/g,function(_,name){return"$"+groups[name]}))}else if(typeof substitution==="function"){var _this=this;return _super[Symbol.replace].call(this,str,function(){var args=arguments;if(_typeof(args[args.length-1])!=="object"){args=[].slice.call(args);args.push(buildGroups(args,_this))}return substitution.apply(this,args)})}else{return _super[Symbol.replace].call(this,str,substitution)}};function buildGroups(result,re){var g=_groups.get(re);return Object.keys(g).reduce(function(groups,name){groups[name]=result[g[name]];return groups},Object.create(null))}return _wrapRegExp.apply(this,arguments)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Transformer=function(_Base){_inherits(Transformer,_Base);var _super=_createSuper(Transformer);function Transformer(definition){var _this;_classCallCheck(this,Transformer);_this=_super.call(this);(0,_validate.validateString)(definition);_this.args=disassemble(definition);_this.command=_this.args.shift();_this.callbacks=new Map;return _this}_createClass(Transformer,[{key:"setCallback",value:function setCallback(name,callback){(0,_validate.validateString)(name);(0,_validate.validateFunction)(callback);this.callbacks.set(name,callback);return this}},{key:"run",value:function run(value){return transform.apply(this,[value])}}]);return Transformer}(_base.Base);exports.Transformer=Transformer;_namespace.Monster.assignToNamespace("Monster.Data",Transformer);function disassemble(command){(0,_validate.validateString)(command);var placeholder=new Map;var regex=_wrapRegExp(/((\\(.)){1})/gim,{pattern:2,char:3});var result=command.matchAll(regex);var _iterator=_createForOfIteratorHelper(result),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var m=_step.value;var g=m===null||m===void 0?void 0:m["groups"];if(!(0,_is.isObject)(g)){continue}var p=g===null||g===void 0?void 0:g["pattern"];var c=g===null||g===void 0?void 0:g["char"];if(p&&c){var r="__"+(new _id.ID).toString()+"__";placeholder.set(r,c);command=command.replace(p,r)}}}catch(err){_iterator.e(err)}finally{_iterator.f()}var parts=command.split(":");parts=parts.map(function(value){var v=value.trim();var _iterator2=_createForOfIteratorHelper(placeholder),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var k=_step2.value;v=v.replace(k[0],k[1])}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}return v});return parts}function convertToString(value){if((0,_is.isObject)(value)&&value.hasOwnProperty("toString")){value=value.toString()}(0,_validate.validateString)(value);return value}function transform(value){var args=(0,_clone.clone)(this.args);var key;switch(this.command){case"static":return this.args.join(":");case"tolower":case"strtolower":case"tolowercase":(0,_validate.validateString)(value);return value.toLowerCase();case"toupper":case"strtoupper":case"touppercase":(0,_validate.validateString)(value);return value.toUpperCase();case"tostring":return""+value;case"tointeger":var n=parseInt(value);(0,_validate.validateInteger)(n);return n;case"tojson":return JSON.stringify(value);case"trim":(0,_validate.validateString)(value);return value.trim();case"rawurlencode":(0,_validate.validateString)(value);return encodeURIComponent(value).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A");case"call":var callback;var callbackName=args.shift();if((0,_is.isObject)(value)&&value.hasOwnProperty(callbackName)){callback=value[callbackName]}else if(this.callbacks.has(callbackName)){callback=this.callbacks.get(callbackName)}else if((typeof window==="undefined"?"undefined":_typeof(window))==="object"&&window.hasOwnProperty(callbackName)){callback=window[callbackName]}(0,_validate.validateFunction)(callback);args.unshift(value);return callback.apply(void 0,_toConsumableArray(args));case"plain":case"plaintext":(0,_validate.validateString)(value);var doc=(new DOMParser).parseFromString(value,"text/html");return doc.body.textContent||"";case"if":case"?":(0,_validate.validatePrimitive)(value);var trueStatement=args.shift()||undefined;var falseStatement=args.shift()||undefined;if(trueStatement==="value"){trueStatement=value}if(trueStatement==="\\value"){trueStatement="value"}if(falseStatement==="value"){falseStatement=value}if(falseStatement==="\\value"){falseStatement="value"}var condition=value!==undefined&&value!==""&&value!=="off"&&value!=="false"&&value!==false||value==="on"||value==="true"||value===true;return condition?trueStatement:falseStatement;case"ucfirst":(0,_validate.validateString)(value);var firstchar=value.charAt(0).toUpperCase();return firstchar+value.substr(1);case"ucwords":(0,_validate.validateString)(value);return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g,function(v){return v.toUpperCase()});case"count":case"length":if(((0,_is.isString)(value)||(0,_is.isObject)(value)||(0,_is.isArray)(value))&&value.hasOwnProperty("length")){return value.length}throw new TypeError("unsupported type");case"base64":convertToString(value);return btoa(value);case"empty":return"";case"undefined":return undefined;case"prefix":(0,_validate.validateString)(value);var prefix=args===null||args===void 0?void 0:args[0];return prefix+value;case"suffix":(0,_validate.validateString)(value);var suffix=args===null||args===void 0?void 0:args[0];return value+suffix;case"uniqid":return(new _id.ID).toString();case"key":case"property":case"index":key=args.shift()||"undefined";var defaultValue=args.shift()||"";if(value instanceof Map){if(!value.has(key)){return defaultValue}return value.get(key)}if((0,_is.isObject)(value)||(0,_is.isArray)(value)){if(value!==null&&value!==void 0&&value[key]){return value===null||value===void 0?void 0:value[key]}return defaultValue}throw new Error("type not supported");case"path":key=args.shift()||"undefined";return new _pathfinder.Pathfinder(value).getVia(key);case"substring":(0,_validate.validateString)(value);var start=parseInt(args[0])||0;var end=(parseInt(args[1])||0)+start;return value.substring(start,end);case"nop":return value;default:throw new Error("unknown command "+this.command)}return value}},{"../namespace.js":26,"../types/base.js":27,"../types/id.js":29,"../types/is.js":30,"../types/validate.js":39,"../util/clone.js":41,"./pathfinder.js":10}],13:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Assembler=exports.ATTRIBUTEPREFIX=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _proxyobserver=require("../types/proxyobserver.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ATTRIBUTEPREFIX="data-monster-";exports.ATTRIBUTEPREFIX=ATTRIBUTEPREFIX;var Assembler=function(_Base){_inherits(Assembler,_Base);var _super=_createSuper(Assembler);function Assembler(fragment){var _this;_classCallCheck(this,Assembler);_this=_super.call(this);_this.attributePrefix=ATTRIBUTEPREFIX;(0,_validate.validateInstance)(fragment,(0,_global.getGlobalFunction)("DocumentFragment"));_this.fragment=fragment;return _this}_createClass(Assembler,[{key:"setAttributePrefix",value:function setAttributePrefix(prefix){(0,_validate.validateString)(prefix);this.attributePrefix=prefix;return this}},{key:"getAttributePrefix",value:function getAttributePrefix(){return this.attributePrefix}},{key:"createDocumentFragment",value:function createDocumentFragment(data){if(data===undefined){data=new _proxyobserver.ProxyObserver({})}(0,_validate.validateInstance)(data,_proxyobserver.ProxyObserver);var fragment=this.fragment.cloneNode(true);return fragment}}]);return Assembler}(_base.Base);exports.Assembler=Assembler;_base.Monster.assignToNamespace("Monster.DOM",Assembler)},{"../types/base.js":27,"../types/global.js":28,"../types/proxyobserver.js":33,"../types/validate.js":39}],14:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ATTRIBUTE_UPDATER_REMOVE=exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE=exports.ATTRIBUTE_UPDATER_INSERT=exports.ATTRIBUTE_UPDATER_REPLACE=exports.ATTRIBUTE_UPDATER_ATTRIBUTES=exports.ATTRIBUTE_THEME_NAME=exports.ATTRIBUTE_THEME_PREFIX=exports.DEFAULT_THEME=exports.ATTRIBUTE_OPTIONS=exports.ATTRIBUTE_PREFIX=void 0;var _namespace=require("../namespace.js");var ATTRIBUTE_PREFIX="data-monster-";exports.ATTRIBUTE_PREFIX=ATTRIBUTE_PREFIX;var ATTRIBUTE_OPTIONS=ATTRIBUTE_PREFIX+"options";exports.ATTRIBUTE_OPTIONS=ATTRIBUTE_OPTIONS;var DEFAULT_THEME="monster";exports.DEFAULT_THEME=DEFAULT_THEME;var ATTRIBUTE_THEME_PREFIX=ATTRIBUTE_PREFIX+"theme-";exports.ATTRIBUTE_THEME_PREFIX=ATTRIBUTE_THEME_PREFIX;var ATTRIBUTE_THEME_NAME=ATTRIBUTE_THEME_PREFIX+"name";exports.ATTRIBUTE_THEME_NAME=ATTRIBUTE_THEME_NAME;var ATTRIBUTE_UPDATER_ATTRIBUTES=ATTRIBUTE_PREFIX+"attributes";exports.ATTRIBUTE_UPDATER_ATTRIBUTES=ATTRIBUTE_UPDATER_ATTRIBUTES;var ATTRIBUTE_UPDATER_REPLACE=ATTRIBUTE_PREFIX+"replace";exports.ATTRIBUTE_UPDATER_REPLACE=ATTRIBUTE_UPDATER_REPLACE;var ATTRIBUTE_UPDATER_INSERT=ATTRIBUTE_PREFIX+"insert";exports.ATTRIBUTE_UPDATER_INSERT=ATTRIBUTE_UPDATER_INSERT;var ATTRIBUTE_UPDATER_INSERT_REFERENCE=ATTRIBUTE_PREFIX+"insert-reference";exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE=ATTRIBUTE_UPDATER_INSERT_REFERENCE;var ATTRIBUTE_UPDATER_REMOVE=ATTRIBUTE_PREFIX+"remove";exports.ATTRIBUTE_UPDATER_REMOVE=ATTRIBUTE_UPDATER_REMOVE},{"../namespace.js":26}],15:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.registerCustomElement=registerCustomElement;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _validate.Monster}});exports.CustomElement=void 0;var _constants=require("./constants.js");var _template=require("./template.js");var _global=require("../types/global.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class)_setPrototypeOf(instance,Class.prototype);return instance}}return _construct.apply(null,arguments)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var CustomElement=function(_HTMLElement){_inherits(CustomElement,_HTMLElement);var _super=_createSuper(CustomElement);function CustomElement(){var _this;_classCallCheck(this,CustomElement);_this=_super.call(this);_this._options=Object.assign({},_this.defaults,getOptionsFromAttributes.call(_assertThisInitialized(_this)));_this.init();return _this}_createClass(CustomElement,[{key:"defaults",get:function get(){return{shadowMode:"open",delegatesFocus:true}}},{key:"getOption",value:function getOption(key,defaultValue){var _this$_options;(0,_validate.validateString)(key);var v=(_this$_options=this._options)===null||_this$_options===void 0?void 0:_this$_options[key];if(v===undefined)return defaultValue;return v}},{key:"init",value:function init(){initShadowRoot.call(this);return this}},{key:"assemble",value:function assemble(){return this}},{key:"disassemble",value:function disassemble(){return this}},{key:"connectedCallback",value:function connectedCallback(){this.assemble()}},{key:"disconnectedCallback",value:function disconnectedCallback(){this.disassemble()}},{key:"adoptedCallback",value:function adoptedCallback(){}},{key:"attributeChangedCallback",value:function attributeChangedCallback(attrName,oldVal,newVal){this.assemble()}}],[{key:"getTemplate",value:function getTemplate(){throw new Error("the method getTemplate must be overwritten by the derived class.")}},{key:"getTag",value:function getTag(){throw new Error("the method getTag must be overwritten by the derived class.")}},{key:"getCSSStyleSheet",value:function getCSSStyleSheet(){return new CSSStyleSheet}}]);return CustomElement}(_wrapNativeSuper(HTMLElement));exports.CustomElement=CustomElement;function getOptionsFromAttributes(){if(this.hasAttribute(_constants.ATTRIBUTE_OPTIONS)){try{var obj=JSON.parse(this.getAttribute(_constants.ATTRIBUTE_OPTIONS));(0,_validate.validateObject)(obj);return obj}catch(e){throw new Error("the options attribute "+_constants.ATTRIBUTE_OPTIONS+" does not contain a valid json definition (actual: "+this.getAttribute(_constants.ATTRIBUTE_OPTIONS)+").")}}return{}}function initShadowRoot(){this.attachShadow({mode:this.getOption("shadowMode","open"),delegatesFocus:this.getOption("delegatesFocus",true)});var styleSheet=this.constructor.getCSSStyleSheet();if(styleSheet instanceof CSSStyleSheet){this.shadowRoot.adoptedStyleSheets=[styleSheet]}try{var template=(0,_template.findDocumentTemplate)(this.constructor.getTag());this.shadowRoot.appendChild(template.createDocumentFragment())}catch(e){this.shadowRoot.innerHTML=this.constructor.getTemplate()}return this}function registerCustomElement(element){(0,_validate.validateFunction)(element);var tag=element.getTag();(0,_global.getGlobalObject)("customElements").define(element.getTag(),element);return}_validate.Monster.assignToNamespace("Monster.DOM",CustomElement,registerCustomElement)},{"../types/global.js":28,"../types/validate.js":39,"./constants.js":14,"./template.js":17}],16:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getHandleFromNode=getHandleFromNode;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Handle=void 0;var _base=require("../types/base.js");var _stack=require("../types/stack.js");var _validate=require("../types/validate.js");var _proxyobserver=require("../types/proxyobserver.js");var _observer=require("../types/observer.js");var _global=require("../types/global.js");var _is=require("../types/is.js");var _assembler=require("./assembler.js");var _id=require("../types/id.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var MONSTERDOMHANDLE=Symbol("MonsterHandle");var Handle=function(_Base){_inherits(Handle,_Base);var _super=_createSuper(Handle);function Handle(data){var _this;_classCallCheck(this,Handle);_this=_super.call(this);var self=_assertThisInitialized(_this);self.id=new _id.ID;(0,_validate.validateInstance)(data,_proxyobserver.ProxyObserver);_this.data=data;_this.mutationObserver=createMutationObserver.call(_assertThisInitialized(_this));_this.dataObserver=createDataObserver.call(_assertThisInitialized(_this));_this.data.attachObserver(_this.dataObserver);_this.nodes=new WeakSet;_this.updates=new _stack.Stack;return _this}_createClass(Handle,[{key:"update",value:function update(){return}},{key:"remove",value:function remove(node){if((0,_is.isInstance)(node,(0,_global.getGlobalFunction)("Document"))){node=node.firstElementChild}(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("HTMLElement"));if(!this.nodes.has(node)){return this}this.mutationObserver.disconnect(node);delete node.dataset[MONSTERDOMHANDLE];node.removeAttribute(_assembler.ATTRIBUTEPREFIX+"handler");return this}},{key:"append",value:function append(node){if((0,_is.isInstance)(node,(0,_global.getGlobalFunction)("Document"))){node=node.firstElementChild}(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("HTMLElement"));if(this.nodes.has(node)){return this}node.dataset[MONSTERDOMHANDLE]=this;node.setAttribute(_assembler.ATTRIBUTEPREFIX+"handler",true);this.mutationObserver.observe(node,{attributes:true,childList:true,subtree:true,characterData:true,characterDataOldValue:true,attributeOldValue:true});this.nodes.add(node);return this}}]);return Handle}(_base.Base);exports.Handle=Handle;function createDataObserver(){var self=this;return new _observer.Observer(function(){self.update()})}function createMutationObserver(){var self=this;var MutationObserver=(0,_global.getGlobalFunction)("MutationObserver");return new MutationObserver(function(mutationsList,observer){var _iterator=_createForOfIteratorHelper(mutationsList),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var mutation=_step.value;self.updates.push(mutation)}}catch(err){_iterator.e(err)}finally{_iterator.f()}self.update()})}function getHandleFromNode(node){var _node$dataset;(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("Node"));var handle=(_node$dataset=node.dataset)===null||_node$dataset===void 0?void 0:_node$dataset[MONSTERDOMHANDLE];if(handle===undefined){var parentNode=node===null||node===void 0?void 0:node["parentNode"];if((0,_is.isInstance)(parentNode,(0,_global.getGlobalFunction)("Node"))){return getHandleFromNode(parentNode)}}return handle}_base.Monster.assignToNamespace("Monster.DOM",getHandleFromNode,Handle)},{"../types/base.js":27,"../types/global.js":28,"../types/id.js":29,"../types/is.js":30,"../types/observer.js":31,"../types/proxyobserver.js":33,"../types/stack.js":36,"../types/validate.js":39,"./assembler.js":13}],17:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.findDocumentTemplate=findDocumentTemplate;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Template=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _theme=require("./theme.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Template=function(_Base){_inherits(Template,_Base);var _super=_createSuper(Template);function Template(template){var _this;_classCallCheck(this,Template);_this=_super.call(this);var HTMLTemplateElement=(0,_global.getGlobalFunction)("HTMLTemplateElement");(0,_validate.validateInstance)(template,HTMLTemplateElement);_this.template=template;return _this}_createClass(Template,[{key:"getTemplateElement",value:function getTemplateElement(){return this.template}},{key:"createDocumentFragment",value:function createDocumentFragment(){return this.template.content.cloneNode(true)}}]);return Template}(_base.Base);exports.Template=Template;function findDocumentTemplate(id){(0,_validate.validateString)(id);var document=(0,_global.getGlobalObject)("document");var HTMLTemplateElement=(0,_global.getGlobalFunction)("HTMLTemplateElement");var theme=(0,_theme.getDocumentTheme)();var themedID=id+"-"+theme.getName();var template=document.getElementById(themedID);if(template instanceof HTMLTemplateElement){return new Template(template)}template=document.getElementById(id);if(template instanceof HTMLTemplateElement){return new Template(template)}throw new Error("template "+id+" not found.")}_base.Monster.assignToNamespace("Monster.DOM",Template,findDocumentTemplate)},{"../types/base.js":27,"../types/global.js":28,"../types/validate.js":39,"./theme.js":18}],18:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getDocumentTheme=getDocumentTheme;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Theme=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _constants=require("./constants.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Theme=function(_Base){_inherits(Theme,_Base);var _super=_createSuper(Theme);function Theme(name){var _this;_classCallCheck(this,Theme);_this=_super.call(this);(0,_validate.validateString)(name);_this.name=name;return _this}_createClass(Theme,[{key:"getName",value:function getName(){return this.name}}]);return Theme}(_base.Base);exports.Theme=Theme;function getDocumentTheme(){var document=(0,_global.getGlobalObject)("document");var name=_constants.DEFAULT_THEME;var element=document.querySelector("html");if(element instanceof HTMLElement){var theme=element.getAttribute(_constants.ATTRIBUTE_THEME_NAME);if(theme){name=theme}}return new Theme(name)}_base.Monster.assignToNamespace("Monster.DOM",Theme,getDocumentTheme)},{"../types/base.js":27,"../types/global.js":28,"../types/validate.js":39,"./constants.js":14}],19:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getWindow=getWindow;exports.getDocument=getDocument;exports.getDocumentFragmentFromString=getDocumentFragmentFromString;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _global.Monster}});var _global=require("../types/global.js");var _validate=require("../types/validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function getDocument(){var _getGlobal;var document=(_getGlobal=(0,_global.getGlobal)())===null||_getGlobal===void 0?void 0:_getGlobal["document"];if(_typeof(document)!=="object"){throw new Error("not supported environment")}return document}function getWindow(){var _getGlobal2;var window=(_getGlobal2=(0,_global.getGlobal)())===null||_getGlobal2===void 0?void 0:_getGlobal2["window"];if(_typeof(window)!=="object"){throw new Error("not supported environment")}return window}function getDocumentFragmentFromString(html){(0,_validate.validateString)(html);var document=getDocument();var template=document.createElement("template");template.innerHTML=html;return template.content}_global.Monster.assignToNamespace("Monster.DOM",getWindow,getDocument,getDocumentFragmentFromString)},{"../types/global.js":28,"../types/validate.js":39}],20:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Handler=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");var _logger=require("./logger.js");var _logentry=require("./logentry.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Handler=function(_Base){_inherits(Handler,_Base);var _super=_createSuper(Handler);function Handler(){var _this;_classCallCheck(this,Handler);_this=_super.call(this);_this.loglevel=_logger.OFF;return _this}_createClass(Handler,[{key:"log",value:function log(entry){(0,_validate.validateInstance)(entry,_logentry.LogEntry);if(this.loglevel<entry.getLogLevel()){return false}return true}},{key:"setLogLevel",value:function setLogLevel(loglevel){(0,_validate.validateInteger)(loglevel);this.loglevel=loglevel;return this}},{key:"getLogLevel",value:function getLogLevel(){return this.loglevel}},{key:"setAll",value:function setAll(){this.setLogLevel(_logger.ALL);return this}},{key:"setTrace",value:function setTrace(){this.setLogLevel(_logger.TRACE);return this}},{key:"setDebug",value:function setDebug(){this.setLogLevel(_logger.DEBUG);return this}},{key:"setInfo",value:function setInfo(){this.setLogLevel(_logger.INFO);return this}},{key:"setWarn",value:function setWarn(){this.setLogLevel(_logger.WARN);return this}},{key:"setError",value:function setError(){this.setLogLevel(_logger.ERROR);return this}},{key:"setFatal",value:function setFatal(){this.setLogLevel(_logger.FATAL);return this}},{key:"setOff",value:function setOff(){this.setLogLevel(_logger.OFF);return this}}]);return Handler}(_base.Base);exports.Handler=Handler;_namespace.Monster.assignToNamespace("Monster.Logging",Handler)},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39,"./logentry.js":22,"./logger.js":23}],21:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});Object.defineProperty(exports,"Handler",{enumerable:true,get:function get(){return _handler.Handler}});var _namespace=require("../../namespace.js");var _base=require("../../types/base.js");var _handler=require("../../logging/handler.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ConsoleHandler=function(_Base){_inherits(ConsoleHandler,_Base);var _super=_createSuper(ConsoleHandler);function ConsoleHandler(){_classCallCheck(this,ConsoleHandler);return _super.call(this)}return ConsoleHandler}(_base.Base);_namespace.Monster.assignToNamespace("Monster.Logging",ConsoleHandler)},{"../../logging/handler.js":20,"../../namespace.js":26,"../../types/base.js":27}],22:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.LogEntry=void 0;var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");var _base=require("../types/base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var LogEntry=function(_Base){_inherits(LogEntry,_Base);var _super=_createSuper(LogEntry);function LogEntry(loglevel){var _this;_classCallCheck(this,LogEntry);_this=_super.call(this);(0,_validate.validateInteger)(loglevel);_this.loglevel=loglevel;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this.arguments=args;return _this}_createClass(LogEntry,[{key:"getLogLevel",value:function getLogLevel(){return this.loglevel}},{key:"getArguments",value:function getArguments(){return this.arguments}}]);return LogEntry}(_base.Base);exports.LogEntry=LogEntry;_namespace.Monster.assignToNamespace("Monster.Logging",LogEntry)},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39}],23:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.OFF=exports.FATAL=exports.ERROR=exports.WARN=exports.INFO=exports.DEBUG=exports.TRACE=exports.ALL=exports.Logger=void 0;var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");var _handler=require("../logging/handler.js");var _logentry=require("../logging/logentry.js");var _base=require("../types/base.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ALL=255;exports.ALL=ALL;var TRACE=64;exports.TRACE=TRACE;var DEBUG=32;exports.DEBUG=DEBUG;var INFO=16;exports.INFO=INFO;var WARN=8;exports.WARN=WARN;var ERROR=4;exports.ERROR=ERROR;var FATAL=2;exports.FATAL=FATAL;var OFF=0;exports.OFF=OFF;var Logger=function(_Base){_inherits(Logger,_Base);var _super=_createSuper(Logger);function Logger(){var _this;_classCallCheck(this,Logger);_this=_super.call(this);_this.handler=new Set;return _this}_createClass(Logger,[{key:"addHandler",value:function addHandler(handler){(0,_validate.validateObject)(handler);if(!(handler instanceof _handler.Handler)){throw new Error("the handler must be an instance of Handler")}this.handler.add(handler);return this}},{key:"removeHandler",value:function removeHandler(handler){(0,_validate.validateObject)(handler);if(!(handler instanceof _handler.Handler)){throw new Error("the handler must be an instance of Handler")}this.handler["delete"](handler);return this}},{key:"logTrace",value:function logTrace(){triggerLog.apply(this,[TRACE].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logDebug",value:function logDebug(){triggerLog.apply(this,[DEBUG].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logInfo",value:function logInfo(){triggerLog.apply(this,[INFO].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logWarn",value:function logWarn(){triggerLog.apply(this,[WARN].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logError",value:function logError(){triggerLog.apply(this,[ERROR].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logFatal",value:function logFatal(){triggerLog.apply(this,[FATAL].concat(Array.prototype.slice.call(arguments)));return this}},{key:"getLabel",value:function getLabel(level){(0,_validate.validateInteger)(level);if(level===ALL)return"ALL";if(level===TRACE)return"TRACE";if(level===DEBUG)return"DEBUG";if(level===INFO)return"INFO";if(level===WARN)return"WARN";if(level===ERROR)return"ERROR";if(level===FATAL)return"FATAL";if(level===OFF)return"OFF";return"unknown"}},{key:"getLevel",value:function getLevel(label){(0,_validate.validateString)(label);if(label==="ALL")return ALL;if(label==="TRACE")return TRACE;if(label==="DEBUG")return DEBUG;if(label==="INFO")return INFO;if(label==="WARN")return WARN;if(label==="ERROR")return ERROR;if(label==="FATAL")return FATAL;if(label==="OFF")return OFF;return 0}}]);return Logger}(_base.Base);exports.Logger=Logger;_namespace.Monster.assignToNamespace("Monster.Logging",Logger);function triggerLog(loglevel){var logger=this;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}var _iterator=_createForOfIteratorHelper(logger.handler),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var handler=_step.value;handler.log(new _logentry.LogEntry(loglevel,args))}}catch(err){_iterator.e(err)}finally{_iterator.f()}return logger}},{"../logging/handler.js":20,"../logging/logentry.js":22,"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39}],24:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.random=random;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _global.Monster}});var _global=require("../types/global.js");function random(min,max){if(min===undefined){min=0}if(max===undefined){max=MAX}if(max<min){throw new Error("max must be greater than min")}return Math.round(create(min,max))}var MAX=1e9;Math.log2=Math.log2||function(n){return Math.log(n)/Math.log(2)};function create(min,max){var crypt;var globalReference=(0,_global.getGlobal)();crypt=(globalReference===null||globalReference===void 0?void 0:globalReference["crypto"])||(globalReference===null||globalReference===void 0?void 0:globalReference["msCrypto"])||(globalReference===null||globalReference===void 0?void 0:globalReference["crypto"])||undefined;if(typeof crypt==="undefined"){throw new Error("missing crypt")}var rval=0;var range=max-min;if(range<2){return min}var bitsNeeded=Math.ceil(Math.log2(range));if(bitsNeeded>53){throw new Error("we cannot generate numbers larger than 53 bits.")}var bytesNeeded=Math.ceil(bitsNeeded/8);var mask=Math.pow(2,bitsNeeded)-1;var byteArray=new Uint8Array(bytesNeeded);crypt.getRandomValues(byteArray);var p=(bytesNeeded-1)*8;for(var i=0;i<bytesNeeded;i++){rval+=byteArray[i]*Math.pow(2,p);p-=8}rval=rval&mask;if(rval>=range){return create(min,max)}return min+rval}_global.Monster.assignToNamespace("Monster.Math",random)},{"../types/global.js":28}],25:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("./namespace.js");require("./types/base.js");require("./types/global.js");require("./types/id.js");require("./types/is.js");require("./types/observer.js");require("./types/observerlist.js");require("./types/proxyobserver.js");require("./types/queue.js");require("./types/randomid.js");require("./types/stack.js");require("./types/tokenlist.js");require("./types/uniquequeue.js");require("./types/validate.js");require("./types/version.js");require("./math/random.js");require("./data/diff.js");require("./data/pathfinder.js");require("./data/pipe.js");require("./data/transformer.js");require("./logging/handler.js");require("./logging/logentry.js");require("./logging/logger.js");require("./logging/handler/console.js");require("./util/clone.js");require("./util/comparator.js");require("./util/freeze.js");require("./constraints/abstract.js");require("./constraints/abstractoperator.js");require("./constraints/andoperator.js");require("./constraints/invalid.js");require("./constraints/isarray.js");require("./constraints/isobject.js");require("./constraints/oroperator.js");require("./constraints/valid.js");require("./dom/util.js");require("./dom/template.js");require("./dom/handle.js");require("./dom/assembler.js");require("./dom/customelement.js");_namespace.Monster.Util.deepFreeze(_namespace.Monster);var rootName;try{rootName=_namespace.Monster.Types.getGlobalObject("__MonsterRootName__")}catch(e){}if(!rootName)rootName="Monster";_namespace.Monster.Types.getGlobal()[rootName]=_namespace.Monster},{"./constraints/abstract.js":1,"./constraints/abstractoperator.js":2,"./constraints/andoperator.js":3,"./constraints/invalid.js":4,"./constraints/isarray.js":5,"./constraints/isobject.js":6,"./constraints/oroperator.js":7,"./constraints/valid.js":8,"./data/diff.js":9,"./data/pathfinder.js":10,"./data/pipe.js":11,"./data/transformer.js":12,"./dom/assembler.js":13,"./dom/customelement.js":15,"./dom/handle.js":16,"./dom/template.js":17,"./dom/util.js":19,"./logging/handler.js":20,"./logging/handler/console.js":21,"./logging/logentry.js":22,"./logging/logger.js":23,"./math/random.js":24,"./namespace.js":26,"./types/base.js":27,"./types/global.js":28,"./types/id.js":29,"./types/is.js":30,"./types/observer.js":31,"./types/observerlist.js":32,"./types/proxyobserver.js":33,"./types/queue.js":34,"./types/randomid.js":35,"./types/stack.js":36,"./types/tokenlist.js":37,"./types/uniquequeue.js":38,"./types/validate.js":39,"./types/version.js":40,"./util/clone.js":41,"./util/comparator.js":42,"./util/freeze.js":43}],26:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.assignToNamespace=assignToNamespace;exports.Monster=void 0;function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var Namespace=function(){function Namespace(namespace){_classCallCheck(this,Namespace);if(namespace===undefined||typeof namespace!=="string"){throw new Error("namespace is not a string")}this.namespace=namespace}_createClass(Namespace,[{key:"getNamespace",value:function getNamespace(){return this.namespace}},{key:"toString",value:function toString(){return this.getNamespace()}}]);return Namespace}();var Monster=new Namespace("Monster");exports.Monster=Monster;assignToNamespace("Monster",assignToNamespace);function assignToNamespace(ns){var current=namespaceFor(ns.split("."));for(var i=0,l=arguments.length<=1?0:arguments.length-1;i<l;i++){current[objectName(i+1<1||arguments.length<=i+1?undefined:arguments[i+1])]=i+1<1||arguments.length<=i+1?undefined:arguments[i+1]}}function objectName(fn){try{if(typeof fn!=="function"){throw new Error("the first argument is not a function or class.")}if(fn.hasOwnProperty("name")){return fn.name}if("function"===typeof fn.toString){var s=fn.toString();var f=s.match(/^\s*function\s+([^\s(]+)/);if(Array.isArray(f)&&typeof f[1]==="string"){return f[1]}var c=s.match(/^\s*class\s+([^\s(]+)/);if(Array.isArray(c)&&typeof c[1]==="string"){return c[1]}}}catch(e){throw new Error("exception "+e)}throw new Error("the name of the class or function cannot be resolved.")}function namespaceFor(parts){var space=Monster,ns="Monster";for(var i=0;i<parts.length;i++){if("Monster"===parts[i]){continue}ns+="."+parts[i];if(!space.hasOwnProperty(parts[i])){space[parts[i]]=new Namespace(ns)}space=space[parts[i]]}return space}},{}],27:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Base=void 0;var _namespace=require("../namespace.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class)_setPrototypeOf(instance,Class.prototype);return instance}}return _construct.apply(null,arguments)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Base=function(_Object){_inherits(Base,_Object);var _super=_createSuper(Base);function Base(){_classCallCheck(this,Base);return _super.apply(this,arguments)}_createClass(Base,[{key:"toString",value:function toString(){return JSON.stringify(this)}}]);return Base}(_wrapNativeSuper(Object));exports.Base=Base;_namespace.Monster.assignToNamespace("Monster.Types",Base)},{"../namespace.js":26}],28:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getGlobal=getGlobal;exports.getGlobalObject=getGlobalObject;exports.getGlobalFunction=getGlobalFunction;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _validate=require("./validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}var globalReference;(function(){if((typeof globalThis==="undefined"?"undefined":_typeof(globalThis))==="object"){globalReference=globalThis;return}Object.defineProperty(Object.prototype,"__monster__",{get:function get(){return this},configurable:true});__monster__.globalThis=__monster__;delete Object.prototype.__monster__;globalReference=globalThis})();function getGlobal(){return globalReference}function getGlobalObject(name){var _globalReference;(0,_validate.validateString)(name);var o=(_globalReference=globalReference)===null||_globalReference===void 0?void 0:_globalReference[name];if(typeof o==="undefined")throw new Error("the object "+name+" is not defined");(0,_validate.validateObject)(o);return o}function getGlobalFunction(name){var _globalReference2;(0,_validate.validateString)(name);var f=(_globalReference2=globalReference)===null||_globalReference2===void 0?void 0:_globalReference2[name];if(typeof f==="undefined")throw new Error("the function "+name+" is not defined");(0,_validate.validateFunction)(f);return f}_namespace.Monster.assignToNamespace("Monster.Types",getGlobal,getGlobalObject,getGlobalFunction)},{"../namespace.js":26,"./validate.js":39}],29:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.ID=void 0;var _base=require("./base.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var internalCounter=new Map;var ID=function(_Base){_inherits(ID,_Base);var _super=_createSuper(ID);function ID(prefix){var _this;_classCallCheck(this,ID);_this=_super.call(this);if(prefix===undefined){prefix="id"}(0,_validate.validateString)(prefix);if(!internalCounter.has(prefix)){internalCounter.set(prefix,1)}var count=internalCounter.get(prefix);_this.id=prefix+count;internalCounter.set(prefix,++count);return _this}_createClass(ID,[{key:"toString",value:function toString(){return this.id}}]);return ID}(_base.Base);exports.ID=ID;_base.Monster.assignToNamespace("Monster.Types",ID)},{"./base.js":27,"./validate.js":39}],30:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.isPrimitive=isPrimitive;exports.isBoolean=isBoolean;exports.isString=isString;exports.isObject=isObject;exports.isInstance=isInstance;exports.isArray=isArray;exports.isFunction=isFunction;exports.isIterable=isIterable;exports.isInteger=isInteger;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function isIterable(value){if(value===undefined)return false;if(value===null)return false;return typeof(value===null||value===void 0?void 0:value[Symbol.iterator])==="function"}function isPrimitive(value){var type;if(value===undefined||value===null||value===NaN){return true}type=_typeof(value);if(type==="string"||type==="number"||type==="boolean"||type==="symbol"){return true}return false}function isBoolean(value){if(value===true||value===false){return true}return false}function isString(value){if(value===undefined||typeof value!=="string"){return false}return true}function isObject(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(_typeof(value)==="object"){return true}return false}function isInstance(value,instance){if(!isObject(value))return false;if(!isFunction(instance))return false;if(!instance.hasOwnProperty("prototype"))return false;return value instanceof instance?true:false}function isArray(value){if(Array.isArray(value)){return true}return false}function isFunction(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(typeof value==="function"){return true}return false}function isInteger(value){return Number.isInteger(value)}_namespace.Monster.assignToNamespace("Monster.Types",isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInteger)},{"../namespace.js":26}],31:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Observer=void 0;var _namespace=require("../namespace.js");var _tokenlist=require("./tokenlist.js");var _is=require("./is.js");var _base=require("./base.js");var _uniquequeue=require("./uniquequeue.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Observer=function(_Base){_inherits(Observer,_Base);var _super=_createSuper(Observer);function Observer(callback){var _this;_classCallCheck(this,Observer);_this=_super.call(this);if(typeof callback!=="function"){throw new Error("observer callback must be a function")}_this.callback=callback;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this.arguments=args;_this.tags=new _tokenlist.TokenList;_this.queue=new _uniquequeue.UniqueQueue;return _this}_createClass(Observer,[{key:"addTag",value:function addTag(tag){this.tags.add(tag);return this}},{key:"removeTag",value:function removeTag(tag){this.tags.remove(tag);return this}},{key:"getTags",value:function getTags(){return this.tags.entries()}},{key:"hasTag",value:function hasTag(tag){return this.tags.contains(tag)}},{key:"update",value:function update(subject){var self=this;return new Promise(function(resolve,reject){if(!(0,_is.isObject)(subject)){reject("subject must be an object");return}self.queue.add(subject);setTimeout(function(){try{if(self.queue.isEmpty()){resolve();return}var s=self.queue.poll();var result=self.callback.apply(s,self.arguments);if((0,_is.isObject)(result)&&result instanceof Promise){result.then(resolve)["catch"](reject);return}resolve(result)}catch(e){reject(e)}},0)})}}]);return Observer}(_base.Base);exports.Observer=Observer;_namespace.Monster.assignToNamespace("Monster.Types",Observer)},{"../namespace.js":26,"./base.js":27,"./is.js":30,"./tokenlist.js":37,"./uniquequeue.js":38}],32:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ObserverList=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _observer=require("./observer.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ObserverList=function(_Base){_inherits(ObserverList,_Base);var _super=_createSuper(ObserverList);function ObserverList(){var _this;_classCallCheck(this,ObserverList);_this=_super.call(this);_this.observers=[];return _this}_createClass(ObserverList,[{key:"attach",value:function attach(observer){(0,_validate.validateInstance)(observer,_observer.Observer);this.observers.push(observer);return this}},{key:"detach",value:function detach(observer){(0,_validate.validateInstance)(observer,_observer.Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){this.observers.splice(i,1)}}return this}},{key:"contains",value:function contains(observer){(0,_validate.validateInstance)(observer,_observer.Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){return true}}return false}},{key:"notify",value:function notify(subject){var pomises=[];var i=0,l=this.observers.length;for(;i<l;i++){pomises.push(this.observers[i].update(subject))}return Promise.all(pomises)}}]);return ObserverList}(_base.Base);exports.ObserverList=ObserverList;_namespace.Monster.assignToNamespace("Monster.Types",ObserverList)},{"../namespace.js":26,"./base.js":27,"./observer.js":31,"./validate.js":39}],33:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ProxyObserver=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _validate=require("./validate.js");var _observerlist=require("./observerlist.js");var _observer=require("./observer.js");var _is=require("./is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ProxyObserver=function(_Base){_inherits(ProxyObserver,_Base);var _super=_createSuper(ProxyObserver);function ProxyObserver(object){var _this;_classCallCheck(this,ProxyObserver);_this=_super.call(this);(0,_validate.validateObject)(object);_this.realSubject=object;_this.subject=new Proxy(object,getHandler.call(_assertThisInitialized(_this)));_this.objectMap=new WeakMap;_this.objectMap.set(_this.realSubject,_this.subject);_this.observers=new _observerlist.ObserverList;return _this}_createClass(ProxyObserver,[{key:"getSubject",value:function getSubject(){return this.subject}},{key:"getRealSubject",value:function getRealSubject(){return this.realSubject}},{key:"attachObserver",value:function attachObserver(observer){this.observers.attach(observer);return this}},{key:"detachObserver",value:function detachObserver(observer){this.observers.detach(observer);return this}},{key:"notifyObservers",value:function notifyObservers(){return this.observers.notify(this)}},{key:"containsObserver",value:function containsObserver(observer){return this.observers.contains(observer)}}]);return ProxyObserver}(_base.Base);exports.ProxyObserver=ProxyObserver;_namespace.Monster.assignToNamespace("Monster.Types",ProxyObserver);function getHandler(){var proxy=this;var handler={get:function get(target,key,receiver){var value=Reflect.get(target,key,receiver);if(_typeof(key)==="symbol"){return value}if((0,_is.isPrimitive)(value)){return value}if((0,_is.isArray)(value)||(0,_is.isObject)(value)){if(proxy.objectMap.has(value)){return proxy.objectMap.get(value)}else{var p=new Proxy(value,handler);proxy.objectMap.set(value,p);return p}}return value},set:function set(target,key,value,receiver){var result=Reflect.set(target,key,value,receiver);if((typeof property==="undefined"?"undefined":_typeof(property))!=="symbol"){proxy.observers.notify(proxy)}return result},deleteProperty:function deleteProperty(target,key){if(key in target){delete target[key];if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return true}return false},defineProperty:function defineProperty(target,key,descriptor){var result=Reflect.defineProperty(target,key,descriptor);if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return result},setPrototypeOf:function setPrototypeOf(target,key){var result=Reflect.setPrototypeOf(object1,key);if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return result}};return handler}},{"../namespace.js":26,"./base.js":27,"./is.js":30,"./observer.js":31,"./observerlist.js":32,"./validate.js":39}],34:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Queue=void 0;var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Queue=function(_Base){_inherits(Queue,_Base);var _super=_createSuper(Queue);function Queue(){var _this;_classCallCheck(this,Queue);_this=_super.call(this);_this.data=[];return _this}_createClass(Queue,[{key:"isEmpty",value:function isEmpty(){return this.data.length===0}},{key:"peek",value:function peek(){if(this.isEmpty()){return undefined}return this.data[0]}},{key:"add",value:function add(value){this.data.push(value);return this}},{key:"clear",value:function clear(){this.data=[];return this}},{key:"poll",value:function poll(){if(this.isEmpty()){return undefined}return this.data.shift()}}]);return Queue}(_base.Base);exports.Queue=Queue;_base.Monster.assignToNamespace("Monster.Types",Queue)},{"./base.js":27}],35:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _id.Monster}});exports.RandomID=void 0;var _id=require("./id.js");var _global=require("./global.js");var _random=require("../math/random.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var internalCounter=0;var RandomID=function(_ID){_inherits(RandomID,_ID);var _super=_createSuper(RandomID);function RandomID(){var _this;_classCallCheck(this,RandomID);_this=_super.call(this);internalCounter+=1;_this.id=(0,_global.getGlobal)().btoa((0,_random.random)(1,1e4)).replace(/=/g,"").replace(/^[0-9]+/,"X")+internalCounter;return _this}return RandomID}(_id.ID);exports.RandomID=RandomID;_id.Monster.assignToNamespace("Monster.Types",RandomID)},{"../math/random.js":24,"./global.js":28,"./id.js":29}],36:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Stack=void 0;var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Stack=function(_Base){_inherits(Stack,_Base);var _super=_createSuper(Stack);function Stack(){var _this;_classCallCheck(this,Stack);_this=_super.call(this);_this.data=[];return _this}_createClass(Stack,[{key:"isEmpty",value:function isEmpty(){return this.data.length===0}},{key:"peek",value:function peek(){var _this$data;if(this.isEmpty()){return undefined}return(_this$data=this.data)===null||_this$data===void 0?void 0:_this$data[this.data.length-1]}},{key:"push",value:function push(value){this.data.push(value);return this}},{key:"clear",value:function clear(){this.data=[];return this}},{key:"pop",value:function pop(){if(this.isEmpty()){return undefined}return this.data.pop()}}]);return Stack}(_base.Base);exports.Stack=Stack;_base.Monster.assignToNamespace("Monster.Types",Stack)},{"./base.js":27}],37:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.TokenList=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _is=require("../types/is.js");var _validate=require("../types/validate.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var TokenList=function(_Base){_inherits(TokenList,_Base);var _super=_createSuper(TokenList);function TokenList(init){var _this;_classCallCheck(this,TokenList);_this=_super.call(this);_this.tokens=new Set;if(typeof init!=="undefined"){_this.add(init)}return _this}_createClass(TokenList,[{key:"getIterator",value:function getIterator(){return this[Symbol.iterator]()}},{key:Symbol.iterator,value:function value(){var index=0;var entries=this.entries();return{next:function next(){if(index<entries.length){return{value:entries===null||entries===void 0?void 0:entries[index++],done:false}}else{return{done:true}}}}}},{key:"contains",value:function contains(value){var _this2=this;if((0,_is.isString)(value)){value=value.trim();var counter=0;value.split(" ").forEach(function(token){if(_this2.tokens.has(token.trim())===false)return false;counter++});return counter>0?true:false}if((0,_is.isIterable)(value)){var _counter=0;var _iterator=_createForOfIteratorHelper(value),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var token=_step.value;(0,_validate.validateString)(token);if(this.tokens.has(token.trim())===false)return false;_counter++}}catch(err){_iterator.e(err)}finally{_iterator.f()}return _counter>0?true:false}return false}},{key:"add",value:function add(value){var _this3=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){_this3.tokens.add(token.trim())})}else if((0,_is.isIterable)(value)){var _iterator2=_createForOfIteratorHelper(value),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var token=_step2.value;(0,_validate.validateString)(token);this.tokens.add(token.trim())}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"clear",value:function clear(){this.tokens.clear();return this}},{key:"remove",value:function remove(value){var _this4=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){_this4.tokens["delete"](token.trim())})}else if((0,_is.isIterable)(value)){var _iterator3=_createForOfIteratorHelper(value),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var token=_step3.value;(0,_validate.validateString)(token);this.tokens["delete"](token.trim())}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"replace",value:function replace(token,newToken){(0,_validate.validateString)(token);(0,_validate.validateString)(newToken);if(!this.contains(token)){return this}var a=Array.from(this.tokens);var i=a.indexOf(token);if(i===-1)return this;a.splice(i,1,newToken);this.tokens=new Set;this.add(a);return this}},{key:"toggle",value:function toggle(value){var _this5=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){toggleValue.call(_this5,token)})}else if((0,_is.isIterable)(value)){var _iterator4=_createForOfIteratorHelper(value),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var token=_step4.value;toggleValue.call(this,token)}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"entries",value:function entries(){return Array.from(this.tokens)}},{key:"forEach",value:function forEach(callback){(0,_validate.validateFunction)(callback);this.tokens.forEach(callback);return this}},{key:"toString",value:function toString(){return this.entries().join(" ")}}]);return TokenList}(_base.Base);exports.TokenList=TokenList;function toggleValue(token){if(!(this instanceof TokenList))throw Error("must be called with TokenList.call");(0,_validate.validateString)(token);token=token.trim();if(this.contains(token)){this.remove(token);return this}this.add(token);return this}_namespace.Monster.assignToNamespace("Monster.Types",TokenList)},{"../namespace.js":26,"../types/is.js":30,"../types/validate.js":39,"./base.js":27}],38:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _queue.Monster}});exports.UniqueQueue=void 0;var _queue=require("./queue.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _get(target,property,receiver){if(typeof Reflect!=="undefined"&&Reflect.get){_get=Reflect.get}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(receiver)}return desc.value}}return _get(target,property,receiver||target)}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break}return object}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var UniqueQueue=function(_Queue){_inherits(UniqueQueue,_Queue);var _super=_createSuper(UniqueQueue);function UniqueQueue(){var _this;_classCallCheck(this,UniqueQueue);_this=_super.call(this);_this.unique=new WeakSet;return _this}_createClass(UniqueQueue,[{key:"add",value:function add(value){(0,_validate.validateObject)(value);if(!this.unique.has(value)){this.unique.add(value);_get(_getPrototypeOf(UniqueQueue.prototype),"add",this).call(this,value)}return this}},{key:"clear",value:function clear(){_get(_getPrototypeOf(UniqueQueue.prototype),"clear",this).call(this);this.unique=new WeakSet;return this}},{key:"poll",value:function poll(){if(this.isEmpty()){return undefined}var value=this.data.shift();this.unique["delete"](value);return value}}]);return UniqueQueue}(_queue.Queue);exports.UniqueQueue=UniqueQueue;_queue.Monster.assignToNamespace("Monster.Types",UniqueQueue)},{"./queue.js":34,"./validate.js":39}],39:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.validatePrimitive=validatePrimitive;exports.validateBoolean=validateBoolean;exports.validateString=validateString;exports.validateObject=validateObject;exports.validateInstance=validateInstance;exports.validateArray=validateArray;exports.validateFunction=validateFunction;exports.validateIterable=validateIterable;exports.validateInteger=validateInteger;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _is=require("./is.js");function validateIterable(value){if(!(0,_is.isIterable)(value)){throw new TypeError("value is not iterable")}return value}function validatePrimitive(value){if(!(0,_is.isPrimitive)(value)){throw new TypeError("value is not a primitive")}return value}function validateBoolean(value){if(!(0,_is.isBoolean)(value)){throw new TypeError("value is not a boolean")}return value}function validateString(value){if(!(0,_is.isString)(value)){throw new TypeError("value is not a string")}return value}function validateObject(value){if(!(0,_is.isObject)(value)){throw new TypeError("value is not a object")}return value}function validateInstance(value,instance){if(!(0,_is.isInstance)(value,instance)){var n="";if((0,_is.isObject)(instance)||(0,_is.isFunction)(instance)){n=instance===null||instance===void 0?void 0:instance["name"]}if(n){n=" "+n}throw new TypeError("value is not an instance of"+n)}return value}function validateArray(value){if(!(0,_is.isArray)(value)){throw new TypeError("value is not an array")}return value}function validateFunction(value){if(!(0,_is.isFunction)(value)){throw new TypeError("value is not a function")}return value}function validateInteger(value){if(!(0,_is.isInteger)(value)){throw new TypeError("value is not an integer")}return value}_namespace.Monster.assignToNamespace("Monster.Types",validatePrimitive,validateBoolean,validateString,validateObject,validateArray,validateFunction,validateIterable,validateInteger)},{"../namespace.js":26,"./is.js":30}],40:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getVersion=getVersion;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Version=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Version=function(_Base){_inherits(Version,_Base);var _super=_createSuper(Version);function Version(major,minor,patch){var _this;_classCallCheck(this,Version);_this=_super.call(this);if(typeof major==="string"&&minor===undefined&&patch===undefined){var parts=major.toString().split(".");major=parseInt(parts[0]||0);minor=parseInt(parts[1]||0);patch=parseInt(parts[2]||0)}if(major===undefined){throw new Error("major version is undefined")}if(minor===undefined){minor=0}if(patch===undefined){patch=0}_this.major=parseInt(major);_this.minor=parseInt(minor);_this.patch=parseInt(patch);if(isNaN(_this.major)){throw new Error("major is not a number")}if(isNaN(_this.minor)){throw new Error("minor is not a number")}if(isNaN(_this.patch)){throw new Error("patch is not a number")}return _this}_createClass(Version,[{key:"toString",value:function toString(){return this.major+"."+this.minor+"."+this.patch}},{key:"compareTo",value:function compareTo(version){if(version instanceof Version){version=version.toString()}if(typeof version!=="string"){throw new Error("type exception")}if(version===this.toString()){return 0}var a=[this.major,this.minor,this.patch];var b=version.split(".");var len=Math.max(a.length,b.length);for(var i=0;i<len;i+=1){if(a[i]&&!b[i]&&parseInt(a[i])>0||parseInt(a[i])>parseInt(b[i])){return 1}else if(b[i]&&!a[i]&&parseInt(b[i])>0||parseInt(a[i])<parseInt(b[i])){return-1}}return 0}}]);return Version}(_base.Base);exports.Version=Version;_namespace.Monster.assignToNamespace("Monster.Types",Version);var monsterVersion;function getVersion(){if(monsterVersion instanceof Version){return monsterVersion}monsterVersion=new Version("1.8.0");return monsterVersion}_namespace.Monster.assignToNamespace("Monster",getVersion)},{"../namespace.js":26,"./base.js":27}],41:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.clone=clone;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _is=require("../types/is.js");var _global=require("../types/global.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function clone(obj){if(null===obj){return obj}if((0,_is.isPrimitive)(obj)){return obj}if((0,_is.isFunction)(obj)){return obj}if((0,_is.isArray)(obj)){var copy=[];for(var i=0,len=obj.length;i<len;i++){copy[i]=clone(obj[i])}return copy}if((0,_is.isObject)(obj)){if(obj instanceof Date){var _copy=new Date;_copy.setTime(obj.getTime());return _copy}if(typeof Element!=="undefined"&&obj instanceof Element)return obj;if(typeof HTMLDocument!=="undefined"&&obj instanceof HTMLDocument)return obj;if(typeof DocumentFragment!=="undefined"&&obj instanceof DocumentFragment)return obj;if(obj===(0,_global.getGlobal)())return obj;if(typeof globalContext!=="undefined"&&obj===globalContext)return obj;if(typeof window!=="undefined"&&obj===window)return obj;if(typeof document!=="undefined"&&obj===document)return obj;if(typeof navigator!=="undefined"&&obj===navigator)return obj;if(typeof JSON!=="undefined"&&obj===JSON)return obj;try{if(obj instanceof Proxy){return obj}}catch(e){}return cloneObject(obj)}throw new Error("unable to clone obj! its type isn't supported.")}function cloneObject(obj){var copy;if(_typeof(obj.hasOwnProperty("getClone"))&&obj.getClone==="function"){return obj.getClone()}copy={};if(typeof obj.constructor==="function"&&typeof obj.constructor.call==="function"){copy=new obj.constructor}for(var key in obj){if(!obj.hasOwnProperty(key)){continue}if(_namespace.Monster.Types.isPrimitive(obj[key])){copy[key]=obj[key];continue}copy[key]=clone(obj[key])}return copy}_namespace.Monster.assignToNamespace("Monster.Util",clone)},{"../namespace.js":26,"../types/global.js":28,"../types/is.js":30}],42:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Comparator=void 0;var _base=require("../types/base.js");var _is=require("../types/is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Comparator=function(_Base){_inherits(Comparator,_Base);var _super=_createSuper(Comparator);function Comparator(callback){var _this;_classCallCheck(this,Comparator);_this=_super.call(this);if((0,_is.isFunction)(callback)){_this.compare=callback}else if(callback!==undefined){throw new TypeError("unsupported type")}else{_this.compare=function(a,b){if(_typeof(a)!==_typeof(b)){throw new TypeError("impractical comparison")}if(a===b){return 0}return a<b?-1:1}}return _this}_createClass(Comparator,[{key:"reverse",value:function reverse(){var original=this.compare;this.compare=function(a,b){return original(b,a)};return this}},{key:"equal",value:function equal(a,b){return this.compare(a,b)===0}},{key:"greaterThan",value:function greaterThan(a,b){return this.compare(a,b)>0}},{key:"greaterThanOrEqual",value:function greaterThanOrEqual(a,b){return this.greaterThan(a,b)||this.equal(a,b)}},{key:"lessThanOrEqual",value:function lessThanOrEqual(a,b){return this.lessThan(a,b)||this.equal(a,b)}},{key:"lessThan",value:function lessThan(a,b){return this.compare(a,b)<0}}]);return Comparator}(_base.Base);exports.Comparator=Comparator;_base.Monster.assignToNamespace("Monster.Util",Comparator)},{"../types/base.js":27,"../types/is.js":30}],43:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.deepFreeze=deepFreeze;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function deepFreeze(object){(0,_validate.validateObject)(object);var propNames=Object.getOwnPropertyNames(object);var _iterator=_createForOfIteratorHelper(propNames),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var name=_step.value;var value=object[name];object[name]=value&&_typeof(value)==="object"?deepFreeze(value):value}}catch(err){_iterator.e(err)}finally{_iterator.f()}return Object.freeze(object)}_namespace.Monster.assignToNamespace("Monster.Util",deepFreeze)},{"../namespace.js":26,"../types/validate.js":39}]},{},[25]); diff --git a/packages/monster/package.json b/packages/monster/package.json index 5e6738578..5946ee3d6 100644 --- a/packages/monster/package.json +++ b/packages/monster/package.json @@ -1,6 +1,6 @@ { "name": "@schukai/monster", - "version": "1.7.0", + "version": "1.8.0", "description": "Monster is a simple library for creating fast, robust and lightweight websites.", "keywords": [ "framework", diff --git a/packages/monster/source/constraints/andoperator.js b/packages/monster/source/constraints/andoperator.js index d8b4ee71d..f862ea1d0 100644 --- a/packages/monster/source/constraints/andoperator.js +++ b/packages/monster/source/constraints/andoperator.js @@ -12,7 +12,7 @@ import {AbstractOperator} from "./abstractoperator.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; * new Monster.Constraint.AndOperator(); * </script> * ``` @@ -21,16 +21,16 @@ import {AbstractOperator} from "./abstractoperator.js"; * * ``` * <script type="module"> - * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; + * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; * new AndOperator(); * </script> * ``` * * @example * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; - * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; * * new AndOperator( * new Valid(), new Valid()).isValid() diff --git a/packages/monster/source/constraints/invalid.js b/packages/monster/source/constraints/invalid.js index 592647412..53eaf9ce4 100644 --- a/packages/monster/source/constraints/invalid.js +++ b/packages/monster/source/constraints/invalid.js @@ -13,7 +13,7 @@ import {Monster, AbstractConstraint} from "./abstract.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; * new Monster.Constraint.Invalid(); * </script> * ``` @@ -22,14 +22,14 @@ import {Monster, AbstractConstraint} from "./abstract.js"; * * ``` * <script type="module"> - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; * new Invalid(); * </script> * ``` * * @example * - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; * * new Invalid().isValid() * .then(()=>console.log(true)) diff --git a/packages/monster/source/constraints/isarray.js b/packages/monster/source/constraints/isarray.js index 855a3e861..3591bf22b 100644 --- a/packages/monster/source/constraints/isarray.js +++ b/packages/monster/source/constraints/isarray.js @@ -12,7 +12,7 @@ import {isArray} from "../types/is.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; * console.log(new Monster.Constraint.IsArray()) * </script> * ``` @@ -21,14 +21,14 @@ import {isArray} from "../types/is.js"; * * ``` * <script type="module"> - * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; + * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; * console.log(new IsArray()) * </script> * ``` * * @example * - * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; + * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; * * new IsArray() * .isValid([]) diff --git a/packages/monster/source/constraints/isobject.js b/packages/monster/source/constraints/isobject.js index 43695c1b5..e68358b1f 100644 --- a/packages/monster/source/constraints/isobject.js +++ b/packages/monster/source/constraints/isobject.js @@ -12,7 +12,7 @@ import {isObject} from "../types/is.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; * console.log(new Monster.Constraint.IsObject()) * </script> * ``` @@ -21,14 +21,14 @@ import {isObject} from "../types/is.js"; * * ``` * <script type="module"> - * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; + * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; * console.log(new IsObject()) * </script> * ``` * * @example * - * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; + * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; * * new IsObject() * .isValid({}) diff --git a/packages/monster/source/constraints/oroperator.js b/packages/monster/source/constraints/oroperator.js index 01824fb66..d29740aca 100644 --- a/packages/monster/source/constraints/oroperator.js +++ b/packages/monster/source/constraints/oroperator.js @@ -11,7 +11,7 @@ import {Monster, AbstractOperator} from "./abstractoperator.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js'; * new Monster.Constraint.OrOperator(); * </script> * ``` @@ -20,16 +20,16 @@ import {Monster, AbstractOperator} from "./abstractoperator.js"; * * ``` * <script type="module"> - * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js'; + * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js'; * new OrOperator(); * </script> * ``` * * @example * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; - * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/oroperator.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js'; * * new OrOperator( * new Valid(), new Invalid()).isValid() diff --git a/packages/monster/source/constraints/valid.js b/packages/monster/source/constraints/valid.js index 6ab2a64fb..872508d91 100644 --- a/packages/monster/source/constraints/valid.js +++ b/packages/monster/source/constraints/valid.js @@ -13,7 +13,7 @@ import {Monster, AbstractConstraint} from "./abstract.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; * new Monster.Constraint.Valid(); * </script> * ``` @@ -22,14 +22,14 @@ import {Monster, AbstractConstraint} from "./abstract.js"; * * ``` * <script type="module"> - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; * new Valid(); * </script> * ``` * * @example * - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; * * new Valid().isValid() * .then(()=>console.log(true)) diff --git a/packages/monster/source/data/buildmap.js b/packages/monster/source/data/buildmap.js index 044e4675a..2276de249 100644 --- a/packages/monster/source/data/buildmap.js +++ b/packages/monster/source/data/buildmap.js @@ -19,7 +19,7 @@ import {Pathfinder} from "./pathfinder.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/buildmap.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/buildmap.js'; * console.log(Monster.Data.buildMap()) * </script> * ``` @@ -28,7 +28,7 @@ import {Pathfinder} from "./pathfinder.js"; * * ``` * <script type="module"> - * import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/buildmap.js'; + * import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/buildmap.js'; * console.log(buildMap()) * </script> * ``` diff --git a/packages/monster/source/data/diff.js b/packages/monster/source/data/diff.js index f4adf77ac..bb8274857 100644 --- a/packages/monster/source/data/diff.js +++ b/packages/monster/source/data/diff.js @@ -16,7 +16,7 @@ import {Monster, isArray, isObject} from "../types/is.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; * console.log(Monster.Data.Diff(a, b)) * </script> * ``` @@ -25,14 +25,14 @@ import {Monster, isArray, isObject} from "../types/is.js"; * * ``` * <script type="module"> - * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; + * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; * console.log(Diff(a, b)) * </script> * ``` * * @example * - * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; + * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; * * // given are two objects x and y. * diff --git a/packages/monster/source/data/pathfinder.js b/packages/monster/source/data/pathfinder.js index f9f9ba86f..fd1ee3a28 100644 --- a/packages/monster/source/data/pathfinder.js +++ b/packages/monster/source/data/pathfinder.js @@ -28,7 +28,7 @@ const WILDCARD = '*'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; * console.log(new Monster.Data.Pathfinder()) * </script> * ``` @@ -37,7 +37,7 @@ const WILDCARD = '*'; * * ``` * <script type="module"> - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; * console.log(new Pathfinder()) * </script> * ``` @@ -79,7 +79,7 @@ const WILDCARD = '*'; * * @example * - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; * * let value = new Pathfinder({ * a: { @@ -105,7 +105,7 @@ const WILDCARD = '*'; * * @example * - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; * * let p = new Pathfinder({ * a: { diff --git a/packages/monster/source/data/pipe.js b/packages/monster/source/data/pipe.js index adf1ae010..903e6c638 100644 --- a/packages/monster/source/data/pipe.js +++ b/packages/monster/source/data/pipe.js @@ -7,7 +7,7 @@ import {Monster} from '../namespace.js'; import {Transformer} from './transformer.js'; import {Base} from '../types/base.js'; -import {validateString} from '../types/validate.js'; +import {validateFunction, validateString} from '../types/validate.js'; const DELIMITER = '|'; @@ -19,7 +19,7 @@ const DELIMITER = '|'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; * console.log(new Monster.Data.Pipe()) * </script> * ``` @@ -28,7 +28,7 @@ const DELIMITER = '|'; * * ``` * <script type="module"> - * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; + * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; * console.log(new Pipe()) * </script> * ``` @@ -39,7 +39,7 @@ const DELIMITER = '|'; * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char. * * @example - * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; + * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; * * let obj = { * a: { @@ -71,7 +71,31 @@ class Pipe extends Base { this.pipe = pipe.split(DELIMITER).map((v) => { return new Transformer(v); }); + + } + + /** + * + * @param {string} name + * @param {function} callback + * @returns {Transformer} + * @throws {TypeError} value is not a string + * @throws {TypeError} value is not a function + */ + setCallback(name, callback) { + + for(const [,t] of Object.entries(this.pipe)) { + t.setCallback(name, callback); + } + + return this; + + // return this.pipe.reduce((accumulator, transformer, currentIndex, array) => { + // return transformer.setCallback(name,callback); + // }, value); + + } /** @@ -81,8 +105,8 @@ class Pipe extends Base { * @returns {*} */ run(value) { - return this.pipe.reduce((accumulator, currentValue, currentIndex, array) => { - return currentValue.run(accumulator); + return this.pipe.reduce((accumulator, transformer, currentIndex, array) => { + return transformer.run(accumulator); }, value); } } diff --git a/packages/monster/source/data/transformer.js b/packages/monster/source/data/transformer.js index 384e1ed2b..bce061935 100644 --- a/packages/monster/source/data/transformer.js +++ b/packages/monster/source/data/transformer.js @@ -19,7 +19,7 @@ import {Pathfinder} from "./pathfinder.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; * console.log(new Monster.Data.Transformer()) * </script> * ``` @@ -28,7 +28,7 @@ import {Pathfinder} from "./pathfinder.js"; * * ``` * <script type="module"> - * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; + * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; * console.log(new Transformer()) * </script> * ``` @@ -60,6 +60,7 @@ import {Pathfinder} from "./pathfinder.js"; * | substring | start:length | | Returns a substring | * | suffix | text | | Adds a suffix | * | tointeger | | | Type conversion to an integer value | + * | tojson | | | Type conversion to an JSON string (since 1.8.0) | * | tolower | | strtolower, tolowercase | The input value is converted to lowercase letters | * | tostring | | | Type conversion to a string | * | toupper | | strtoupper, touppercase | The input value is converted to uppercase letters | @@ -104,7 +105,7 @@ import {Pathfinder} from "./pathfinder.js"; * * @example * - * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; + * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; * * const transformer = new Transformer("tolower") * @@ -267,6 +268,9 @@ function transform(value) { let n = parseInt(value); validateInteger(n); return n + + case 'tojson': + return JSON.stringify(value); case 'trim': validateString(value) @@ -294,7 +298,7 @@ function transform(value) { let callback; let callbackName = args.shift(); - if (isObject(value) && calue.hasOwnProperty(callbackName)) { + if (isObject(value) && value.hasOwnProperty(callbackName)) { callback = value[callbackName]; } else if (this.callbacks.has(callbackName)) { callback = this.callbacks.get(callbackName); diff --git a/packages/monster/source/dom/assembler.js b/packages/monster/source/dom/assembler.js index a6c2c070a..98ebddedf 100644 --- a/packages/monster/source/dom/assembler.js +++ b/packages/monster/source/dom/assembler.js @@ -23,7 +23,7 @@ const ATTRIBUTEPREFIX = "data-monster-"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js'; * console.log(new Monster.DOM.Assembler()) * </script> * ``` @@ -32,7 +32,7 @@ const ATTRIBUTEPREFIX = "data-monster-"; * * ``` * <script type="module"> - * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js'; + * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js'; * console.log(new Assembler()) * </script> * ``` diff --git a/packages/monster/source/dom/constants.js b/packages/monster/source/dom/constants.js new file mode 100644 index 000000000..5bb72d5bf --- /dev/null +++ b/packages/monster/source/dom/constants.js @@ -0,0 +1,92 @@ +'use strict'; + +import {Monster} from "../namespace.js"; + +/** + * @author schukai GmbH + */ + +/** + * @memberOf Monster/DOM + * @since 1.8.0 + * @type {string} + */ +const ATTRIBUTE_PREFIX = 'data-monster-'; + +/** + * @memberOf Monster/DOM + * @since 1.8.0 + * @type {string} + */ +const ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options'; + + +/** + * default theme + * @memberOf Monster/DOM + * @type {string} + */ +const DEFAULT_THEME = 'monster'; + +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ +const ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX + 'theme-'; + +/** + * @memberOf Monster/DOM + * @type {string} + */ +const ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name'; + +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ +const ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes'; + +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ +const ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace'; + +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ +const ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert'; + +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ +const ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference'; + +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ +const ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove'; + + +export { + Monster, + ATTRIBUTE_PREFIX, + ATTRIBUTE_OPTIONS, + DEFAULT_THEME, + ATTRIBUTE_THEME_PREFIX, + ATTRIBUTE_THEME_NAME, + ATTRIBUTE_UPDATER_ATTRIBUTES, + ATTRIBUTE_UPDATER_REPLACE, + ATTRIBUTE_UPDATER_INSERT, + ATTRIBUTE_UPDATER_INSERT_REFERENCE, + ATTRIBUTE_UPDATER_REMOVE +} \ No newline at end of file diff --git a/packages/monster/source/dom/customelement.js b/packages/monster/source/dom/customelement.js index b16bba3d5..da1f27416 100644 --- a/packages/monster/source/dom/customelement.js +++ b/packages/monster/source/dom/customelement.js @@ -4,8 +4,10 @@ * @author schukai GmbH */ +import {ATTRIBUTE_OPTIONS} from "./constants.js"; +import {findDocumentTemplate} from "./template.js"; import {getGlobalObject} from "../types/global.js"; -import {Monster, validateFunction} from "../types/validate.js"; +import {Monster, validateFunction, validateObject, validateString} from "../types/validate.js"; /** @@ -18,7 +20,7 @@ import {Monster, validateFunction} from "../types/validate.js"; * * ``` * <script type="module"> - * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js'; + * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js'; * console.log(new Monster.DOM.CustomElement()) * </script> * ``` @@ -27,7 +29,7 @@ import {Monster, validateFunction} from "../types/validate.js"; * * ``` * <script type="module"> - * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js'; + * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js'; * console.log(new CustomElement()) * </script> * ``` @@ -50,21 +52,26 @@ import {Monster, validateFunction} from "../types/validate.js"; * </style> * ``` * + * + * * @example * + * // In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`. + * // You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`. + * * class MonsterMyElement extends CustomElement { + * * constructor() { * super(); - * - * this.template = `<div class="form-check"> + * } + * + * getTemplate() { + * return `<div class="form-check"> * <label class="form-check-label"> * <input class="form-check-input" type="checkbox" value=""> * Checkvalue * </label> * </div>` - * - * this.attachShadow({mode: 'open'}); - * this.shadowRoot.innerHTML = this.template; * } * * static getTag() { @@ -84,10 +91,85 @@ import {Monster, validateFunction} from "../types/validate.js"; class CustomElement extends HTMLElement { /** + * A new object is created. First the `initOptions` method is called. Here the + * options can be defined in derived classes. Subsequently, the shadowRoot is initialized. * + * @throws {Error} the options attribute does not contain a valid json definition. */ constructor() { super(); + this._options = Object.assign({}, this.defaults, getOptionsFromAttributes.call(this)); + this.init(); + } + + /** + * | option | description | + * |----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + * | shadowMode | `open` Elements of the shadow root are accessible from JavaScript outside the root, for example using. `close` Denies access to the node(s) of a closed shadow root from JavaScript outside it | + * | delegatesFocus | A boolean that, when set to true, specifies behavior that mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling. | + * + * Derived classes can override and extend this method as follows. + * + * ``` + * get defaults() { + * return Object.assign({}, super.defaults, { + * myValue:true + * }); + * } + * ``` + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow + * @return {{shadowMode: string, delegatesFocus: boolean}} + * @since 1.8.0 + */ + get defaults() { + return { + shadowMode: 'open', + delegatesFocus: true + }; + } + + /** + * + * @param {string} key + * @param [*} defaultValue + * @return {*} + * @since 1.8.0 + */ + getOption(key, defaultValue) { + validateString(key) + let v = this._options?.[key]; + if (v === undefined) return defaultValue; + return v; + } + + /** + * + * @return {CustomElement} + * @since 1.8.0 + */ + init() { + initShadowRoot.call(this); + return this; + } + + /** + * + * @return {CustomElement} + * @since 1.8.0 + */ + assemble() { + return this; + } + + /** + * + * + * @return {CustomElement} + * @since 1.8.0 + */ + disassemble() { + return this; } /** @@ -97,7 +179,7 @@ class CustomElement extends HTMLElement { * @return {void} */ connectedCallback() { - + this.assemble(); } /** @@ -106,7 +188,7 @@ class CustomElement extends HTMLElement { * @return {void} */ disconnectedCallback() { - + this.disassemble(); } /** @@ -128,11 +210,23 @@ class CustomElement extends HTMLElement { * @return {void} */ attributeChangedCallback(attrName, oldVal, newVal) { + this.assemble(); + } + /** + * This method defines the default template if no template with the id is found in the dom. + * + * @since 1.8.0 + * @return {string} + * @throws {Error} the method getTemplate must be overwritten by the derived class. + */ + static getTemplate() { + throw new Error("the method getTemplate must be overwritten by the derived class."); } + /** - * there is no check on the name by this class. the developer is responsible for assigning an appropriate tag. + * There is no check on the name by this class. the developer is responsible for assigning an appropriate tag. * if the name is not valid, registerCustomElement() will issue an erro * * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name @@ -143,7 +237,63 @@ class CustomElement extends HTMLElement { throw new Error("the method getTag must be overwritten by the derived class."); } + /** + * + * @return {CSSStyleSheet} + */ + static getCSSStyleSheet() { + return new CSSStyleSheet(); + } + + +} + +/** + * @private + * @return {object} + * @throws {Error} the options attribute does not contain a valid json definition. + */ +function getOptionsFromAttributes() { + if (this.hasAttribute(ATTRIBUTE_OPTIONS)) { + try { + let obj = JSON.parse(this.getAttribute(ATTRIBUTE_OPTIONS)) + validateObject(obj); + return obj; + } catch(e) { + throw new Error('the options attribute '+ATTRIBUTE_OPTIONS+' does not contain a valid json definition (actual: '+this.getAttribute(ATTRIBUTE_OPTIONS)+').'); + } + } + + return {}; +} + +/** + * @private + * @return {CustomElement} + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow + * @memberOf CustomElement + * @since 1.8.0 + */ +function initShadowRoot() { + + this.attachShadow({ + mode: this.getOption('shadowMode', 'open'), + delegatesFocus: this.getOption('delegatesFocus', true) + }); + + const styleSheet = this.constructor.getCSSStyleSheet(); + if (styleSheet instanceof CSSStyleSheet) { + this.shadowRoot.adoptedStyleSheets = [styleSheet]; + } + + try { + let template = findDocumentTemplate(this.constructor.getTag()); + this.shadowRoot.appendChild(template.createDocumentFragment()); + } catch (e) { + this.shadowRoot.innerHTML = this.constructor.getTemplate(); + } + return this; } /** @@ -166,4 +316,4 @@ function registerCustomElement(element) { } Monster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement); -export {Monster, registerCustomElement, CustomElement} \ No newline at end of file +export {Monster, registerCustomElement, CustomElement} diff --git a/packages/monster/source/dom/handle.js b/packages/monster/source/dom/handle.js index 6412229f0..9e1079187 100644 --- a/packages/monster/source/dom/handle.js +++ b/packages/monster/source/dom/handle.js @@ -25,7 +25,7 @@ const MONSTERDOMHANDLE = Symbol('MonsterHandle'); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; * console.log(new Monster.DOM.Handle()) * </script> * ``` @@ -34,7 +34,7 @@ const MONSTERDOMHANDLE = Symbol('MonsterHandle'); * * ``` * <script type="module"> - * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; + * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; * console.log(new Handle()) * </script> * ``` @@ -188,7 +188,7 @@ function createMutationObserver() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; * console.log(Monster.DOM.getHandleFromNode()) * </script> * ``` @@ -197,7 +197,7 @@ function createMutationObserver() { * * ``` * <script type="module"> - * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; + * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; * console.log(getHandleFromNode()) * </script> * ``` diff --git a/packages/monster/source/dom/template.js b/packages/monster/source/dom/template.js index 6ef5c369b..5b429b739 100644 --- a/packages/monster/source/dom/template.js +++ b/packages/monster/source/dom/template.js @@ -15,7 +15,7 @@ import {getDocumentTheme} from "./theme.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; * console.log(new Monster.DOM.Template()) * </script> * ``` @@ -24,7 +24,7 @@ import {getDocumentTheme} from "./theme.js"; * * ``` * <script type="module"> - * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; + * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; * console.log(new Template()) * </script> * ``` @@ -74,7 +74,7 @@ class Template extends Base { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; * console.log(Monster.DOM.findDocumentTemplate()) * </script> * ``` @@ -83,7 +83,7 @@ class Template extends Base { * * ``` * <script type="module"> - * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; + * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; * console.log(findDocumentTemplate()) * </script> * ``` diff --git a/packages/monster/source/dom/theme.js b/packages/monster/source/dom/theme.js index 26153ecfb..482b74dab 100644 --- a/packages/monster/source/dom/theme.js +++ b/packages/monster/source/dom/theme.js @@ -7,25 +7,16 @@ import {Monster, Base} from '../types/base.js'; import {validateString} from "../types/validate.js"; import {getGlobalObject} from '../types/global.js'; +import {ATTRIBUTE_THEME_NAME, DEFAULT_THEME} from "./constants.js"; -/** - * default theme - * @type {string} - */ -const DEFAULT_THEME = 'monster'; -/** - * @private - * @type {string} - */ -const THEME_ATTRIBUTE_NAME = 'data-monster-theme-name'; /** * You can call the method via the monster namespace `new Monster.DOM.Theme()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; * console.log(new Monster.DOM.Theme()) * </script> * ``` @@ -34,14 +25,14 @@ const THEME_ATTRIBUTE_NAME = 'data-monster-theme-name'; * * ``` * <script type="module"> - * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js'; + * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; * console.log(new Theme()) * </script> * ``` * * @example * - * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js'; + * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; * * const theme = getDocumentTheme(); * console.log(theme.getName()); @@ -95,7 +86,7 @@ function getDocumentTheme() { let element = document.querySelector('html'); if (element instanceof HTMLElement) { - let theme = element.getAttribute(THEME_ATTRIBUTE_NAME); + let theme = element.getAttribute(ATTRIBUTE_THEME_NAME); if (theme) { name = theme; } diff --git a/packages/monster/source/dom/updater.js b/packages/monster/source/dom/updater.js new file mode 100644 index 000000000..9f534b18b --- /dev/null +++ b/packages/monster/source/dom/updater.js @@ -0,0 +1,430 @@ +'use strict'; + +import {Pipe} from "../data/pipe.js"; +import {Base, Monster} from "../types/base.js"; +import {isInstance, isArray} from "../types/is.js"; +import {Observer} from "../types/observer.js"; +import {ProxyObserver} from "../types/proxyobserver.js"; +import {validateInstance} from "../types/validate.js"; +import {clone} from "../util/clone.js"; +import {Diff} from "../data/diff.js"; +import { + ATTRIBUTE_UPDATER_REPLACE, + ATTRIBUTE_UPDATER_ATTRIBUTES, + ATTRIBUTE_UPDATER_INSERT, + ATTRIBUTE_UPDATER_REMOVE, + ATTRIBUTE_UPDATER_INSERT_REFERENCE +} from "../dom/constants.js"; +import {getDocument} from "./util.js"; + +/** + * @author schukai GmbH + */ + + +/** + * The updater class connects an object with the dom. in this way, structures and contents in the DOM can be programmatically adapted via attributes. + * + * For example, to include a string from an object, the attribute `data-monster-replace` can be used. + * + * you can call the method via the monster namespace `new Monster.DOM.Updater()`. + * + * ``` + * <script type="module"> + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js'; + * console.log(new Monster.DOM.Updater()) + * </script> + * ``` + * + * Alternatively, you can also integrate this function individually. + * + * ``` + * <script type="module"> + * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js'; + * console.log(new Updater()) + * </script> + * ``` + * + * @example + * + * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js'; + * + * // First we prepare the html document. + * // This is done here via script, but can also be inserted into the document as pure html. + * // To do this, simply insert the tag <h1 data-monster-replace="path:headline"></h1>. + * const body = document.querySelector('body'); + * const headline = document.createElement('h1'); + * headline.setAttribute('data-monster-replace','path:headline') + * body.appendChild(headline); + * + * // the data structure + * let obj = { + * headline: "Hello World", + * }; + * + * // Now comes the real magic. we pass the updater the parent HTMLElement + * // and the desired data structure. + * new Updater(body, obj).run(); + * + * // Now you can change the data structure and the HTML will follow these changes. + * obj['headline'] = "Hello World!" + * + * @since 1.8.0 + * @copyright schukai GmbH + * @memberOf Monster/DOM + * @throws {Error} the value is not iterable + * @throws {Error} pipes are not allowed when cloning a node. + * @throws {Error} no template was found with the specified key. + * @throws {Error} the maximum depth for the recursion is reached. + * @throws {TypeError} value is not a object + * @throws {TypeError} value is not an instance of HTMLElement + */ +class Updater extends Base { + + /** + * @since 1.8.0 + * @param {HTMLElement} element + * @param {object|ProxyObserver} subject + * @throws {TypeError} value is not a object + * @throws {TypeError} value is not an instance of HTMLElement + */ + constructor(element, subject) { + super(); + + /** + * @type {HTMLElement} + */ + this.element = validateInstance(element, HTMLElement); + + if (!isInstance(subject, ProxyObserver)) { + subject = new ProxyObserver(subject); + } + + this.last = {}; + this.callbacks = new Map(); + + /** + * @type {object} + */ + this.subject = subject.attachObserver(new Observer(() => { + const s = this.subject.getRealSubject(); + const diff = Diff(this.last, s) + this.last = clone(s); + + for (const [, change] of Object.entries(diff)) { + removeElement.call(this, change); + insertElement.call(this, change); + updateContent.call(this, change); + updateAttributes.call(this, change); + } + })); + + + } + + /** + * + * @return {Promise} + */ + run() { + this.last = {}; + return this.subject.notifyObservers(); + } + + /** + * @since 1.8.0 + * @return {ProxyObserver} + */ + getSubject() { + return this.subject.getSubject(); + } + + /** + * + * @param {string} name + * @param {function} callback + * @returns {Transformer} + * @throws {TypeError} value is not a string + * @throws {TypeError} value is not a function + */ + setCallback(name, callback) { + this.callbacks.set(name, callback); + return this; + } + +} + +/** + * @private + * @since 1.8.0 + * @param {object} change + * @return {Updater} + */ +function removeElement(change) { + for (const [, element] of this.element.querySelectorAll(':scope [' + ATTRIBUTE_UPDATER_REMOVE + ']').entries()) { + element.parentNode.removeChild(element); + } + return this; +} + +/** + * @private + * @since 1.8.0 + * @param {object} change + * @return {Updater} + * @throws {Error} the value is not iterable + * @throws {Error} pipes are not allowed when cloning a node. + * @throws {Error} no template was found with the specified key. + * @throws {Error} the maximum depth for the recursion is reached. + */ +function insertElement(change) { + const self = this; + const subject = self.subject.getRealSubject(); + const document = getDocument(); + + let mem = new WeakSet; + let wd=0; + + + while (true) { + let found=false; + wd++; + + let p = clone(change?.['path']); + if (!isArray(p)) return this; + + while (p.length > 0) { + const current = p.join('.'); + const list = this.element.querySelectorAll(':scope [' + ATTRIBUTE_UPDATER_INSERT + '*="path:' + current + '"]').entries() + + for (const [, containerElement] of list) { + + + if (mem.has(containerElement)) continue; + mem.add(containerElement) + + found=true; + + const attributes = containerElement.getAttribute(ATTRIBUTE_UPDATER_INSERT); + let def = attributes.trim(); + let i = def.indexOf(' '); + let key = def.substr(0, i).trim(); + let refPrefix = key + '-'; + let cmd = def.substr(i).trim(); + + if (cmd.indexOf('|') > 0) { + throw new Error("pipes are not allowed when cloning a node."); + } + + let pipe = new Pipe(cmd); + this.callbacks.forEach((f, n) => { + pipe.setCallback(n, f); + }) + + let value = pipe.run(subject) + let dataPath = cmd.split(':').pop(); + + let insertPoint; + if (containerElement.hasChildNodes()) { + insertPoint = containerElement.lastChild; + } + + if (!isArray(value)) { + throw new Error('the value is not iterable'); + } + + let available = new Set; + + for (const [i, obj] of Object.entries(value)) { + let ref = refPrefix + i; + let currentPath = dataPath + "." + i; + + available.add(ref); + let refElement = containerElement.querySelector('[' + ATTRIBUTE_UPDATER_INSERT_REFERENCE + '="' + ref + '"]'); + + if (refElement instanceof HTMLElement) { + insertPoint = refElement; + continue; + } + + appendNewDocumentFragment(containerElement, key, ref, currentPath); + } + + let nodes = containerElement.querySelectorAll('[' + ATTRIBUTE_UPDATER_INSERT_REFERENCE + '*="' + refPrefix + '"]'); + for (const [, node] of Object.entries(nodes)) { + if (!available.has(node.getAttribute(ATTRIBUTE_UPDATER_INSERT_REFERENCE))) { + containerElement.removeChild(node); + } + } + } + + p.pop(); + } + + if(found===false) break; + if(wd++>200) { + throw new Error('the maximum depth for the recursion is reached.'); + }; + + } + + +} + +/** + * + * @private + * @since 1.8.0 + * @param {HTMLElement} container + * @param {string} key + * @param {string} ref + * @param {string} path + * @throws {Error} no template was found with the specified key. + */ +function appendNewDocumentFragment(container, key, ref, path) { + + let template = getDocument().querySelector("template#" + key) + if (!(template instanceof HTMLTemplateElement)) { + throw new Error("no template was found with the specified key " + key) + } + + let nodes = template.content.cloneNode(true); + for (const [, node] of Object.entries(nodes.childNodes)) { + if (node instanceof HTMLElement) { + node.setAttribute(ATTRIBUTE_UPDATER_INSERT_REFERENCE, ref); + + if (node.hasAttribute(ATTRIBUTE_UPDATER_REPLACE)) { + let value = node.getAttribute(ATTRIBUTE_UPDATER_REPLACE); + node.setAttribute(ATTRIBUTE_UPDATER_REPLACE, value.replace("path:" + key, "path:" + path)); + } + + } + + container.appendChild(node); + } +} + +/** + * @private + * @since 1.8.0 + * @param {object} change + * @return {Updater} + */ +function updateContent(change) { + const self = this; + const subject = self.subject.getRealSubject(); + + let p = clone(change?.['path']); + runUpdateContent.call(this, this.element, p, subject); + return this; +} + +/** + * + * @private + * @since 1.8.0 + * @param {HTMLElement} container + * @param {array} parts + * @param {object} subject + * @return {void} + */ +function runUpdateContent(container, parts, subject) { + if (!isArray(parts)) return; + parts = clone(parts); + + let mem = new WeakSet; + + while (parts.length > 0) { + const current = parts.join('.'); + parts.pop(); + + // Unfortunately, static data is always changed as well, since it is not possible to react to changes here. + for (const [, element] of container.querySelectorAll(':scope [' + ATTRIBUTE_UPDATER_REPLACE + '^="path:' + current + '"], [' + ATTRIBUTE_UPDATER_REPLACE + '^="static:"]').entries()) { + + if (mem.has(element)) continue; + mem.add(element) + + const attributes = element.getAttribute(ATTRIBUTE_UPDATER_REPLACE) + let cmd = attributes.trim(); + + let pipe = new Pipe(cmd); + this.callbacks.forEach((f, n) => { + pipe.setCallback(n, f); + }) + + let value = pipe.run(subject) + + if (value instanceof HTMLElement) { + while (element.firstChild) { + element.removeChild(element.firstChild); + } + element.addNode(value); + } else { + element.innerHTML = value; + } + + } + } + +} + +/** + * @private + * @since 1.8.0 + * @param {string} path + * @param {object} change + * @return {Updater} + */ +function updateAttributes(change) { + const self = this; + const subject = self.subject.getRealSubject(); + + let p = clone(change?.['path']); + runUpdateAttributes(this.element, p, subject); + return this; +} + +/** + * @private + * @param {HTMLElement} container + * @param {array} parts + * @param {object} subject + * @return {void} + */ +function runUpdateAttributes(container, parts, subject) { + + if (!isArray(parts)) return; + parts = clone(parts); + + let mem = new WeakSet; + + while (parts.length > 0) { + const current = parts.join('.'); + parts.pop(); + + for (const [, element] of container.querySelectorAll(':scope [' + ATTRIBUTE_UPDATER_ATTRIBUTES + '*="path:' + current + '"]').entries()) { + + if (mem.has(element)) continue; + mem.add(element) + + const attributes = element.getAttribute(ATTRIBUTE_UPDATER_ATTRIBUTES) + + for (let [, def] of Object.entries(attributes.split(','))) { + def = def.trim(); + let i = def.indexOf(' '); + let name = def.substr(0, i).trim(); + let cmd = def.substr(i).trim(); + + let value = new Pipe(cmd).run(subject) + if (element.getAttribute(name) !== value) { + element.setAttribute(name, value); + } + } + } + + } + +} + +Monster.assignToNamespace('Monster.DOM', Updater); +export {Monster, Updater} \ No newline at end of file diff --git a/packages/monster/source/dom/util.js b/packages/monster/source/dom/util.js index ef59d3cee..06dede3a8 100644 --- a/packages/monster/source/dom/util.js +++ b/packages/monster/source/dom/util.js @@ -13,7 +13,7 @@ import {validateString} from "../types/validate.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getDocument()) * </script> * ``` @@ -22,7 +22,7 @@ import {validateString} from "../types/validate.js"; * * ``` * <script type="module"> - * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(getDocument()) * </script> * ``` @@ -74,7 +74,7 @@ function getDocument() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getWindow()) * </script> * ``` @@ -83,7 +83,7 @@ function getDocument() { * * ``` * <script type="module"> - * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(getWindow(null)) * </script> * ``` @@ -140,7 +140,7 @@ function getWindow() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getDocumentFragmentFromString()) * </script> * ``` @@ -149,7 +149,7 @@ function getWindow() { * * ``` * <script type="module"> - * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(getDocumentFragmentFromString('<div></div>')) * </script> * ``` diff --git a/packages/monster/source/logging/handler.js b/packages/monster/source/logging/handler.js index db7430bc1..fbda2b01f 100644 --- a/packages/monster/source/logging/handler.js +++ b/packages/monster/source/logging/handler.js @@ -15,7 +15,7 @@ import {validateInstance, validateInteger} from "../types/validate.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js'; * console.log(new Monster.Logging.Handler()) * </script> * ``` @@ -24,7 +24,7 @@ import {validateInstance, validateInteger} from "../types/validate.js"; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js'; * console.log(new Handler()) * </script> * ``` diff --git a/packages/monster/source/logging/handler/console.js b/packages/monster/source/logging/handler/console.js index d7e61ed7b..17f6d2bb8 100644 --- a/packages/monster/source/logging/handler/console.js +++ b/packages/monster/source/logging/handler/console.js @@ -13,7 +13,7 @@ import {Handler} from '../../logging/handler.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js'; * console.log(new Monster.Logging.Handler.ConsoleHandler()) * </script> * ``` @@ -22,7 +22,7 @@ import {Handler} from '../../logging/handler.js'; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js'; * console.log(new ConsoleHandler()) * </script> * ``` diff --git a/packages/monster/source/logging/logentry.js b/packages/monster/source/logging/logentry.js index 4f7278477..f764f5d04 100644 --- a/packages/monster/source/logging/logentry.js +++ b/packages/monster/source/logging/logentry.js @@ -14,7 +14,7 @@ import {Base} from '../types/base.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js'; * console.log(new Monster.Logging.LogEntry()) * </script> * ``` @@ -23,7 +23,7 @@ import {Base} from '../types/base.js'; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js'; * console.log(new LogEntry()) * </script> * ``` diff --git a/packages/monster/source/logging/logger.js b/packages/monster/source/logging/logger.js index cb2d1800f..c66c8d528 100644 --- a/packages/monster/source/logging/logger.js +++ b/packages/monster/source/logging/logger.js @@ -65,7 +65,7 @@ const OFF = 0; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js'; * console.log(new Monster.Logging.Logger()) * </script> * ``` @@ -74,7 +74,7 @@ const OFF = 0; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js'; * console.log(new Logger()) * </script> * ``` diff --git a/packages/monster/source/math/random.js b/packages/monster/source/math/random.js index 5f5d950b9..4d40cf914 100644 --- a/packages/monster/source/math/random.js +++ b/packages/monster/source/math/random.js @@ -15,7 +15,7 @@ import {Monster, getGlobal} from '../types/global.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js'; * console.log(Monster.Math.random(1,10)) // ↦ 5 * </script> * ``` @@ -24,7 +24,7 @@ import {Monster, getGlobal} from '../types/global.js'; * * ``` * <script type="module"> - * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js'; + * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js'; * console.log(random(1,10)) // ↦ 5 * </script> * ``` diff --git a/packages/monster/source/namespace.js b/packages/monster/source/namespace.js index 36823ce5d..e65d6f718 100644 --- a/packages/monster/source/namespace.js +++ b/packages/monster/source/namespace.js @@ -69,7 +69,7 @@ assignToNamespace('Monster', assignToNamespace); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/namespace.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js'; * function hello() { * console.log('Hello World!'); * } diff --git a/packages/monster/source/types/base.js b/packages/monster/source/types/base.js index ab5852beb..967d79055 100644 --- a/packages/monster/source/types/base.js +++ b/packages/monster/source/types/base.js @@ -14,7 +14,7 @@ import {Monster} from '../namespace.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js'; * console.log(new Monster.Types.Base()) * console.log(new Monster.Types.Base()) * </script> @@ -24,7 +24,7 @@ import {Monster} from '../namespace.js'; * * ``` * <script type="module"> - * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js'; + * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js'; * console.log(new Base()) * console.log(new Base()) * </script> diff --git a/packages/monster/source/types/global.js b/packages/monster/source/types/global.js index bf623caaa..0dc726dce 100644 --- a/packages/monster/source/types/global.js +++ b/packages/monster/source/types/global.js @@ -56,7 +56,7 @@ function getGlobal() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; * console.log(Monster.Types.getGlobalObject('document')) // ↦ { } * </script> * ``` @@ -65,7 +65,7 @@ function getGlobal() { * * ``` * <script type="module"> - * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; + * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; * console.log(getGlobalObject('document')) // ↦ { } * </script> * ``` @@ -93,7 +93,7 @@ function getGlobalObject(name) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { } * </script> * ``` @@ -102,7 +102,7 @@ function getGlobalObject(name) { * * ``` * <script type="module"> - * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; + * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { } * </script> * ``` diff --git a/packages/monster/source/types/id.js b/packages/monster/source/types/id.js index 8ef54ce37..053a38b27 100644 --- a/packages/monster/source/types/id.js +++ b/packages/monster/source/types/id.js @@ -24,7 +24,7 @@ let internalCounter = new Map; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js'; * console.log(new Monster.Types.ID()) * </script> * ``` @@ -33,7 +33,7 @@ let internalCounter = new Map; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js'; * console.log(new ID()) * </script> * ``` diff --git a/packages/monster/source/types/is.js b/packages/monster/source/types/is.js index ba7d7a341..065cc2453 100644 --- a/packages/monster/source/types/is.js +++ b/packages/monster/source/types/is.js @@ -13,7 +13,7 @@ import {Monster} from '../namespace.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isIterable(null)) // ↦ false * console.log(Monster.Types.isIterable('hello')) // ↦ true * console.log(Monster.Types.isIterable([])) // ↦ true @@ -24,7 +24,7 @@ import {Monster} from '../namespace.js'; * * ``` * <script type="module"> - * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isIterable(null)) // ↦ false * console.log(isIterable('hello')) // ↦ true * console.log(isIterable([])) // ↦ true @@ -51,7 +51,7 @@ function isIterable(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isPrimitive('2')) // ↦ false * console.log(Monster.Types.isPrimitive([])) // ↦ true * </script> @@ -61,7 +61,7 @@ function isIterable(value) { * * ``` * <script type="module"> - * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isPrimitive('2')) // ↦ true * console.log(isPrimitive([])) // ↦ false * </script> @@ -96,7 +96,7 @@ function isPrimitive(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isBoolean('2')) // ↦ false * console.log(Monster.Types.isBoolean([])) // ↦ false * console.log(Monster.Types.isBoolean(true)) // ↦ true @@ -107,7 +107,7 @@ function isPrimitive(value) { * * ``` * <script type="module"> - * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isBoolean('2')) // ↦ false * console.log(isBoolean([])) // ↦ false * console.log(isBoolean(2>4)) // ↦ true @@ -136,7 +136,7 @@ function isBoolean(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isString('2')) // ↦ true * console.log(Monster.Types.isString([])) // ↦ false * </script> @@ -146,7 +146,7 @@ function isBoolean(value) { * * ``` * <script type="module"> - * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isString('2')) // ↦ true * console.log(isString([])) // ↦ false * </script> @@ -172,7 +172,7 @@ function isString(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isObject('2')) // ↦ false * console.log(Monster.Types.isObject([])) // ↦ false * console.log(Monster.Types.isObject({})) // ↦ true @@ -183,7 +183,7 @@ function isString(value) { * * ``` * <script type="module"> - * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isObject('2')) // ↦ false * console.log(isObject([])) // ↦ false * </script> @@ -214,7 +214,7 @@ function isObject(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isInstance('2')) // ↦ false * console.log(Monster.Types.isInstance([])) // ↦ false * console.log(Monster.Types.isInstance({})) // ↦ true @@ -225,7 +225,7 @@ function isObject(value) { * * ``` * <script type="module"> - * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isInstance('2')) // ↦ false * console.log(isInstance([])) // ↦ false * </script> @@ -254,7 +254,7 @@ function isInstance(value, instance) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isArray('2')) // ↦ false * console.log(Monster.Types.isArray([])) // ↦ true * </script> @@ -264,7 +264,7 @@ function isInstance(value, instance) { * * ``` * <script type="module"> - * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isArray('2')) // ↦ false * console.log(isArray([])) // ↦ true * </script> @@ -290,7 +290,7 @@ function isArray(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isFunction(()=>{})) // ↦ true * console.log(Monster.Types.isFunction('2')) // ↦ false * console.log(Monster.Types.isFunction([])) // ↦ false @@ -301,7 +301,7 @@ function isArray(value) { * * ``` * <script type="module"> - * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isFunction(()=>{})) // ↦ true * console.log(isFunction('2')) // ↦ false * console.log(isFunction([])) // ↦ false @@ -333,7 +333,7 @@ function isFunction(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isInteger(()=>{})) // ↦ true * console.log(Monster.Types.isInteger('2')) // ↦ false * console.log(Monster.Types.isInteger(2)) // ↦ true @@ -344,7 +344,7 @@ function isFunction(value) { * * ``` * <script type="module"> - * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isInteger(()=>{})) // ↦ true * console.log(isInteger('2')) // ↦ false * console.log(isInteger(2)) // ↦ true diff --git a/packages/monster/source/types/observer.js b/packages/monster/source/types/observer.js index 76bd2a8d2..dce4452b9 100644 --- a/packages/monster/source/types/observer.js +++ b/packages/monster/source/types/observer.js @@ -17,7 +17,7 @@ import {UniqueQueue} from './uniquequeue.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; * console.log(new Monster.Types.Observer()) * </script> * ``` @@ -26,7 +26,7 @@ import {UniqueQueue} from './uniquequeue.js'; * * ``` * <script type="module"> - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; * console.log(new Observer()) * </script> * ``` @@ -60,7 +60,7 @@ import {UniqueQueue} from './uniquequeue.js'; * * @example * - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; * * const observer = new Observer(function(a, b, c) { * console.log(this, a, b, c); // ↦ "a", 2, true @@ -148,22 +148,27 @@ class Observer extends Base { setTimeout(() => { - // the queue and the settimeout ensure that an object is not - // informed of the same change more than once. - if (self.queue.isEmpty()) { - resolve(); - return; - } + try { + // the queue and the settimeout ensure that an object is not + // informed of the same change more than once. + if (self.queue.isEmpty()) { + resolve(); + return; + } - let s = self.queue.poll(); - let result = self.callback.apply(s, self.arguments); + let s = self.queue.poll(); + let result = self.callback.apply(s, self.arguments); - if (isObject(result) && result instanceof Promise) { - result.then(resolve).catch(reject); - return; - } + if (isObject(result) && result instanceof Promise) { + result.then(resolve).catch(reject); + return; + } - resolve(result); + resolve(result); + + } catch (e) { + reject(e); + } }, 0) }); diff --git a/packages/monster/source/types/observerlist.js b/packages/monster/source/types/observerlist.js index 0657b6460..70a2aff65 100644 --- a/packages/monster/source/types/observerlist.js +++ b/packages/monster/source/types/observerlist.js @@ -16,7 +16,7 @@ import {validateInstance} from "./validate.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js'; * console.log(new Monster.Types.ObserverList()) * console.log(new Monster.Types.ObserverList()) * </script> @@ -26,7 +26,7 @@ import {validateInstance} from "./validate.js"; * * ``` * <script type="module"> - * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js'; + * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js'; * console.log(ObserverList()) * console.log(ObserverList()) * </script> diff --git a/packages/monster/source/types/proxyobserver.js b/packages/monster/source/types/proxyobserver.js index 96c726c07..cf941363e 100644 --- a/packages/monster/source/types/proxyobserver.js +++ b/packages/monster/source/types/proxyobserver.js @@ -12,13 +12,13 @@ import {Observer} from "./observer.js"; import {isObject, isArray, isPrimitive} from "./is.js"; /** - * an observer manages a callback function + * An observer manages a callback function * - * you can call the method via the monster namespace `new Monster.Types.ProxyObserver()`. + * You can call the method via the monster namespace `new Monster.Types.ProxyObserver()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; * console.log(new Monster.Types.ProxyObserver()) * </script> * ``` @@ -27,7 +27,7 @@ import {isObject, isArray, isPrimitive} from "./is.js"; * * ``` * <script type="module"> - * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; + * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; * console.log(new ProxyObserver()) * </script> * ``` @@ -38,9 +38,9 @@ import {isObject, isArray, isPrimitive} from "./is.js"; * * @example * - * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; - * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; + * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * * const o = new Observer(function () { * if (isObject(this) && this instanceof ProxyObserver) { @@ -132,11 +132,10 @@ class ProxyObserver extends Base { /** * notify all observer * - * @returns {ProxyObserver} + * @returns {Promise} */ notifyObservers() { - this.observers.notify(this); - return this; + return this.observers.notify(this); } /** diff --git a/packages/monster/source/types/queue.js b/packages/monster/source/types/queue.js index 3c9aad953..d1b10ec23 100644 --- a/packages/monster/source/types/queue.js +++ b/packages/monster/source/types/queue.js @@ -5,7 +5,7 @@ import {Monster, Base} from './base.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; * console.log(new Monster.Types.Queue()) * </script> * ``` @@ -14,14 +14,14 @@ import {Monster, Base} from './base.js'; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; * console.log(new Queue()) * </script> * ``` * * @example * - * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; + * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; * * const queue = new Queue; * diff --git a/packages/monster/source/types/randomid.js b/packages/monster/source/types/randomid.js index a50bd45e0..be3da50a3 100644 --- a/packages/monster/source/types/randomid.js +++ b/packages/monster/source/types/randomid.js @@ -19,7 +19,7 @@ let internalCounter = 0; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js'; * console.log(new Monster.Types.RandomID()) * </script> * ``` @@ -28,7 +28,7 @@ let internalCounter = 0; * * ``` * <script type="module"> - * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js'; + * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js'; * console.log(new RandomID()) * </script> * ``` diff --git a/packages/monster/source/types/stack.js b/packages/monster/source/types/stack.js index 7fa70297b..03c32edea 100644 --- a/packages/monster/source/types/stack.js +++ b/packages/monster/source/types/stack.js @@ -5,7 +5,7 @@ import {Monster, Base} from './base.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js'; * console.log(new Monster.Types.Stack()) * </script> * ``` @@ -14,7 +14,7 @@ import {Monster, Base} from './base.js'; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js'; * console.log(new Stack()) * </script> * ``` diff --git a/packages/monster/source/types/tokenlist.js b/packages/monster/source/types/tokenlist.js index c894a4bd5..6d028407c 100644 --- a/packages/monster/source/types/tokenlist.js +++ b/packages/monster/source/types/tokenlist.js @@ -18,7 +18,7 @@ import {validateString, validateFunction} from '../types/validate.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js'; * console.log(new Monster.Types.TokenList("myclass row")) * console.log(new Monster.Types.TokenList("myclass row")) * </script> @@ -28,7 +28,7 @@ import {validateString, validateFunction} from '../types/validate.js'; * * ``` * <script type="module"> - * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js'; + * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js'; * console.log(new TokenList("myclass row")) * console.log(new TokenList("myclass row")) * </script> diff --git a/packages/monster/source/types/typeof.js b/packages/monster/source/types/typeof.js index 6038e9056..b218d80f4 100644 --- a/packages/monster/source/types/typeof.js +++ b/packages/monster/source/types/typeof.js @@ -14,7 +14,7 @@ import {Monster} from "../namespace.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js'; * console.log(Monster.Types.typeOf()) * </script> * ``` @@ -23,14 +23,14 @@ import {Monster} from "../namespace.js"; * * ``` * <script type="module"> - * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js'; + * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js'; * console.log(typeOf()) * </script> * ``` * * @example * - * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js'; + * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js'; * * console.log(typeOf(undefined)); // ↦ undefined * console.log(typeOf("")); // ↦ string diff --git a/packages/monster/source/types/uniquequeue.js b/packages/monster/source/types/uniquequeue.js index 66b42f0b3..8b7a42661 100644 --- a/packages/monster/source/types/uniquequeue.js +++ b/packages/monster/source/types/uniquequeue.js @@ -6,7 +6,7 @@ import {validateObject} from "./validate.js"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js'; * console.log(new Monster.Types.UniqueQueue()) * </script> * ``` @@ -15,7 +15,7 @@ import {validateObject} from "./validate.js"; * * ``` * <script type="module"> - * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js'; + * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js'; * console.log(new UniqueQueue()) * </script> * ``` diff --git a/packages/monster/source/types/validate.js b/packages/monster/source/types/validate.js index f8f822f54..a99fc9b06 100644 --- a/packages/monster/source/types/validate.js +++ b/packages/monster/source/types/validate.js @@ -24,7 +24,7 @@ import { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError * console.log(Monster.Types.validateIterable([])) // ↦ undefined * </script> @@ -34,14 +34,14 @@ import { * * ``` * <script type="module"> - * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateIterable('2')) // ↦ TypeError * console.log(validateIterable([])) // ↦ undefined * </script> * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.2.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -54,6 +54,7 @@ function validateIterable(value) { if (!isIterable(value)) { throw new TypeError('value is not iterable') } + return value } /** @@ -63,7 +64,7 @@ function validateIterable(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError * </script> @@ -73,14 +74,14 @@ function validateIterable(value) { * * ``` * <script type="module"> - * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validatePrimitive('2')) // ↦ undefined * console.log(validatePrimitive([])) // ↦ TypeError * </script> * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -93,6 +94,7 @@ function validatePrimitive(value) { if (!isPrimitive(value)) { throw new TypeError('value is not a primitive') } + return value } /** @@ -102,7 +104,7 @@ function validatePrimitive(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError @@ -113,7 +115,7 @@ function validatePrimitive(value) { * * ``` * <script type="module"> - * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateBoolean(false)) // ↦ undefined * console.log(validateBoolean('2')) // ↦ TypeError * console.log(validateBoolean([])) // ↦ TypeError @@ -121,7 +123,7 @@ function validatePrimitive(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -132,6 +134,7 @@ function validateBoolean(value) { if (!isBoolean(value)) { throw new TypeError('value is not a boolean') } + return value } /** @@ -141,7 +144,7 @@ function validateBoolean(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateString('2')) // ↦ undefined * console.log(Monster.Types.validateString([])) // ↦ TypeError * </script> @@ -151,14 +154,14 @@ function validateBoolean(value) { * * ``` * <script type="module"> - * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateString('2')) // ↦ undefined * console.log(validateString([])) // ↦ TypeError * </script> * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -168,6 +171,7 @@ function validateString(value) { if (!isString(value)) { throw new TypeError('value is not a string') } + return value } @@ -178,7 +182,7 @@ function validateString(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateObject({})) // ↦ undefined * console.log(Monster.Types.validateObject('2')) // ↦ TypeError * console.log(Monster.Types.validateObject([])) // ↦ TypeError @@ -189,7 +193,7 @@ function validateString(value) { * * ``` * <script type="module"> - * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateObject({})) // ↦ undefined * console.log(validateObject('2')) // ↦ TypeError * console.log(validateObject([])) // ↦ TypeError @@ -197,7 +201,7 @@ function validateString(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -207,6 +211,7 @@ function validateObject(value) { if (!isObject(value)) { throw new TypeError('value is not a object') } + return value } /** @@ -216,7 +221,7 @@ function validateObject(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError @@ -227,7 +232,7 @@ function validateObject(value) { * * ``` * <script type="module"> - * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateInstance({}, Object)) // ↦ undefined * console.log(validateInstance('2', Object)) // ↦ TypeError * console.log(validateInstance([], Object)) // ↦ TypeError @@ -235,7 +240,7 @@ function validateObject(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.5.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -254,6 +259,7 @@ function validateInstance(value, instance) { throw new TypeError('value is not an instance of' + n) } + return value } /** @@ -263,7 +269,7 @@ function validateInstance(value, instance) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateArray('2')) // ↦ TypeError * console.log(Monster.Types.validateArray([])) // ↦ undefined * </script> @@ -273,14 +279,14 @@ function validateInstance(value, instance) { * * ``` * <script type="module"> - * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateArray('2')) // ↦ TypeError * console.log(validateArray([])) // ↦ undefined * </script> * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -290,6 +296,7 @@ function validateArray(value) { if (!isArray(value)) { throw new TypeError('value is not an array') } + return value } /** @@ -299,7 +306,7 @@ function validateArray(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError * console.log(Monster.Types.validateFunction([])) // ↦ TypeError @@ -310,7 +317,7 @@ function validateArray(value) { * * ``` * <script type="module"> - * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateFunction(()=>{})) // ↦ undefined * console.log(validateFunction('2')) // ↦ TypeError * console.log(validateFunction([])) // ↦ TypeError @@ -318,7 +325,7 @@ function validateArray(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -328,6 +335,7 @@ function validateFunction(value) { if (!isFunction(value)) { throw new TypeError('value is not a function') } + return value } /** @@ -337,7 +345,7 @@ function validateFunction(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError * console.log(Monster.Types.validateInteger(2)) // ↦ undefined @@ -348,7 +356,7 @@ function validateFunction(value) { * * ``` * <script type="module"> - * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateInteger(true)) // ↦ TypeError * console.log(validateInteger('2')) // ↦ TypeError * console.log(validateInteger(2)) // ↦ undefined @@ -356,7 +364,7 @@ function validateFunction(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.4.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -366,6 +374,7 @@ function validateInteger(value) { if (!isInteger(value)) { throw new TypeError('value is not an integer') } + return value } Monster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger); diff --git a/packages/monster/source/types/version.js b/packages/monster/source/types/version.js index f300b7ce1..1ca484c53 100644 --- a/packages/monster/source/types/version.js +++ b/packages/monster/source/types/version.js @@ -10,7 +10,7 @@ import {Base} from './base.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3 * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0 * </script> @@ -20,7 +20,7 @@ import {Base} from './base.js'; * * ``` * <script type="module"> - * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * console.log(new Version('1.2.3')) // ↦ 1.2.3 * console.log(new Version('1')) // ↦ 1.0.0 * </script> @@ -28,7 +28,7 @@ import {Base} from './base.js'; * * @example * - * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * * new Version('1.0.0') // ↦ 1.0.0 * new Version(1) // ↦ 1.0.0 @@ -150,7 +150,7 @@ let monsterVersion; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * console.log(Monster.getVersion()) * console.log(Monster.getVersion()) * </script> @@ -160,7 +160,7 @@ let monsterVersion; * * ``` * <script type="module"> - * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * console.log(getVersion()) * console.log(getVersion()) * </script> @@ -177,7 +177,7 @@ function getVersion() { return monsterVersion; } /**#@+ dont touch, replaced by make with package.json version */ - monsterVersion = new Version('1.7.0') + monsterVersion = new Version('1.8.0') /**#@-*/ return monsterVersion; diff --git a/packages/monster/source/util/clone.js b/packages/monster/source/util/clone.js index 350837439..d96b49057 100644 --- a/packages/monster/source/util/clone.js +++ b/packages/monster/source/util/clone.js @@ -22,7 +22,7 @@ import {getGlobal} from '../types/global.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js'; * console.log(Monster.Util.clone({})) * </script> * ``` @@ -31,7 +31,7 @@ import {getGlobal} from '../types/global.js'; * * ``` * <script type="module"> - * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js'; + * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js'; * console.log(clone({})) * </script> * ``` diff --git a/packages/monster/source/util/comparator.js b/packages/monster/source/util/comparator.js index 468a005cd..c557187b2 100644 --- a/packages/monster/source/util/comparator.js +++ b/packages/monster/source/util/comparator.js @@ -12,7 +12,7 @@ import {isFunction} from '../types/is.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; * console.log(new Monster.Util.Comparator()) * </script> * ``` @@ -21,7 +21,7 @@ import {isFunction} from '../types/is.js'; * * ``` * <script type="module"> - * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js'; + * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; * console.log(new Comparator()) * </script> * ``` @@ -46,7 +46,7 @@ import {isFunction} from '../types/is.js'; * * @example * - * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js'; + * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; * * console.log(new Comparator().lessThanOrEqual(2, 5)) * // ↦ true diff --git a/packages/monster/source/util/freeze.js b/packages/monster/source/util/freeze.js index 7b2e3cef5..ef9a2980c 100644 --- a/packages/monster/source/util/freeze.js +++ b/packages/monster/source/util/freeze.js @@ -14,7 +14,7 @@ import {validateObject} from '../types/validate.js'; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js'; * console.log(Monster.Util.deepFreeze({})) * </script> * ``` @@ -23,7 +23,7 @@ import {validateObject} from '../types/validate.js'; * * ``` * <script type="module"> - * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js'; + * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js'; * console.log(deepFreeze({})) * </script> * ``` diff --git a/packages/monster/test/cases/data/transformer.js b/packages/monster/test/cases/data/transformer.js index 66ed1b5db..ca0d39435 100644 --- a/packages/monster/test/cases/data/transformer.js +++ b/packages/monster/test/cases/data/transformer.js @@ -39,6 +39,7 @@ describe('Transformer', function () { [ ['prefix:Hello\\ ', 'test', "Hello test"], + ['tojson', {a:4}, "{\"a\":4}"], ['prefix:a\\\\: ', 'test', "a\\test"], ['prefix:a\\ ', 'test', "a test"], ['static:abc:a:b:x', "test", "abc:a:b:x"], diff --git a/packages/monster/test/cases/dom/customelement.js b/packages/monster/test/cases/dom/customelement.js index 65f0a3a19..df93a5f64 100644 --- a/packages/monster/test/cases/dom/customelement.js +++ b/packages/monster/test/cases/dom/customelement.js @@ -17,6 +17,9 @@ describe('DOM', function () { static getTag() { return "monster-testclass" } + static getTemplate() { + return '' + } } done() }); diff --git a/packages/monster/test/cases/dom/updater.js b/packages/monster/test/cases/dom/updater.js new file mode 100644 index 000000000..8143906ec --- /dev/null +++ b/packages/monster/test/cases/dom/updater.js @@ -0,0 +1,256 @@ +'use strict'; + +import {Updater} from "../../../source/dom/updater.js"; + + +import chai from "chai" +import {initJSDOM} from "../../util/jsdom.js"; +import {chaiDom} from "../../util/chai-dom.js"; + +let expect = chai.expect; + +chai.use(chaiDom); + +let html1 = ` + <template id="current"> + <li data-monster-replace="path:current | tojson"></li> + </template> + <div id="test1"> + <ul data-monster-insert="current path:a.b"> + </ul> + </div> +`; + +let html2 = ` + <div id="test1"> + <div data-monster-replace="path:text | tolower"> </div> + <div data-monster-replace="path:text | call:myformatter"> </div> + <div data-monster-replace="static:hello"></div> + </div> +`; + +let html3 = ` + +<template id="myinnerid"> + <span data-monster-replace="path:myinnerid | tojson"></span> +</template> + +<template id="myid"> + <p data-monster-insert="myinnerid path:a.b"></p> +</template> + +<div id="test1"> + <div data-monster-insert="myid path:a.b"></div> +</div> + +`; + + +describe('DOM', function () { + + + before(function (done) { + initJSDOM().then(() => { + done() + }); + }); + + beforeEach(() => { + let mocks = document.getElementById('mocks'); + mocks.innerHTML = html1; + }) + + afterEach(() => { + let mocks = document.getElementById('mocks'); + mocks.innerHTML = ""; + }) + + describe('Updater()', function () { + describe('Example code', function () { + + }) + }) + + describe('Updater()', function () { + describe('test Errors', function () { + + it('should throw value is not an instance of HTMLElement Error', function () { + expect(() => new Updater()).to.throw(TypeError) + }) + + it('should throw value is not an instance of HTMLElement Error', function () { + + let element = document.getElementById('test1') + expect(() => new Updater(element)).to.throw(TypeError) + }) + + it('should throw Error: the value is not iterable', function (done) { + let element = document.getElementById('test1') + + let u = new Updater( + element, + { + a: { + x: [] + } + } + ); + + + u.run().then(() => { + done(new Error("should never called!")); + }).catch((e) => { + expect(e).is.instanceOf(Error); + expect(e + "").to.be.equal('Error: the value is not iterable'); + done(); + }) + + + }); + + + }); + }); + + describe('Updater()', function () { + describe('new Updater', function () { + + it('should return document object', function () { + let element = document.getElementById('test1') + + let d = new Updater( + element, + {} + ); + + expect(typeof d).is.equal('object'); + }); + }); + }); + + describe('Updater()', function () { + describe('Repeat', function () { + + it('should build 6 li elements', function (done) { + let element = document.getElementById('test1') + + let d = new Updater( + element, + { + a: { + b: [ + {i: '0'}, + {i: '1'}, + {i: '2'}, + {i: '3'}, + {i: '4'}, + {i: '5'}, + ] + } + } + ); + + d.run().then(() => { + + expect(typeof d).is.equal('object'); + for (let i = 0; i < 6; i++) { + expect(element).contain.html('<li data-monster-replace="path:a.b.' + i + ' | tojson" data-monster-insert-reference="current-' + i + '">{"i":"' + i + '"}</li>'); + } + + done(); + }).catch( + e => { + done(new Error(e)) + }) + + + }); + }); + }); + + describe('Updater()', function () { + + beforeEach(() => { + let mocks = document.getElementById('mocks'); + mocks.innerHTML = html2; + }) + + describe('Replace', function () { + + it('should add lower hello and HELLOyes!', function (done) { + let element = document.getElementById('test1') + + let d = new Updater( + element, + { + text: "HALLO" + } + ); + + d.setCallback('myformatter', function (a) { + return a + 'yes!' + }) + + d.run().then(() => { + + expect(typeof d).is.equal('object'); + expect(element).contain.html('<div data-monster-replace="path:text | tolower">hallo</div>'); + expect(element).contain.html('<div data-monster-replace="path:text | call:myformatter">HALLOyes!</div>'); + expect(element).contain.html('<div data-monster-replace="static:hello">hello</div>'); + + done(); + }).catch( + e => { + done(new Error(e)) + }) + + + }); + }); + }); + + + describe('Updater()', function () { + + beforeEach(() => { + let mocks = document.getElementById('mocks'); + mocks.innerHTML = html3; + }) + + describe('Replace', function () { + + it('should ', function (done) { + let element = document.getElementById('test1') + + let d = new Updater( + element, + { + a: { + b: [ + {i: '0'}, + ] + } + } + ); + + + d.run().then(() => { + + expect(typeof d).is.equal('object'); + expect(element).contain.html('<div data-monster-insert="myid path:a.b">'); + expect(element).contain.html('<p data-monster-insert="myinnerid path:a.b" data-monster-insert-reference="myid-0">'); + expect(element).contain.html('<span data-monster-replace="path:a.b.0 | tojson" data-monster-insert-reference="myinnerid-0">{"i":"0"}</span>'); + + done(); + }).catch( + e => { + done(new Error(e)) + }) + + + }); + }); + }); + + +}); \ No newline at end of file diff --git a/packages/monster/test/cases/monster.js b/packages/monster/test/cases/monster.js index 41d96b623..baf9f4f5d 100644 --- a/packages/monster/test/cases/monster.js +++ b/packages/monster/test/cases/monster.js @@ -7,7 +7,7 @@ describe('Monster', function () { let monsterVersion /**#@+ dont touch, replaced by make with package.json version */ - monsterVersion = new Version('1.7.0') + monsterVersion = new Version('1.8.0') /**#@-*/ let m = Monster.getVersion(); diff --git a/packages/monster/test/cases/types/proxyobserver.js b/packages/monster/test/cases/types/proxyobserver.js index a96539588..62c1b5713 100644 --- a/packages/monster/test/cases/types/proxyobserver.js +++ b/packages/monster/test/cases/types/proxyobserver.js @@ -90,5 +90,17 @@ describe('ProxyObserver', function () { }); }); }) + + describe('notify observer ', function () { + + it('should return promise', function () { + let proxy = new ProxyObserver({}); + let observer = new Observer(function () { + }) + proxy.attachObserver(observer) + expect(proxy.notifyObservers()).is.instanceOf(Promise); + }); + }); + }) diff --git a/packages/monster/test/cases/types/validate.js b/packages/monster/test/cases/types/validate.js index 0f9ebd86a..2422c3a22 100644 --- a/packages/monster/test/cases/types/validate.js +++ b/packages/monster/test/cases/types/validate.js @@ -46,7 +46,7 @@ describe('validate', function () { } else { it('.validatePrimitive(' + typeof a + ') should not throw TypeException ' + b, function () { - expect(validatePrimitive(a)).to.be.undefined; + expect(validatePrimitive(a)).to.be.equal(a); }); } @@ -83,7 +83,7 @@ describe('validate', function () { } else { it('.validateInteger(' + typeof a + ') should not throw TypeException ' + b, function () { - expect(validateInteger(a)).to.be.undefined; + expect(validateInteger(a)).to.be.equal(a); }); } @@ -123,7 +123,7 @@ describe('validate', function () { } else { it('.validateIterable(' + typeof a + ') should not throw TypeException ' + b, function () { - expect(validateIterable(a)).to.be.undefined; + expect(validateIterable(a)).to.be.equal(a); }); } @@ -162,7 +162,7 @@ describe('validate', function () { } else { it('.validateBoolean(' + typeof a + ') should not throw TypeException ' + b, function () { - expect(validateBoolean(a)).to.be.undefined; + expect(validateBoolean(a)).to.be.equal(a); }); } @@ -203,7 +203,7 @@ describe('validate', function () { } else { it('.validateString(' + typeof a + ') should not throw TypeException ' + b, function () { - expect(validateString(a)).to.be.undefined; + expect(validateString(a)).to.be.equal(a); }); } @@ -243,7 +243,7 @@ describe('validate', function () { } else { it('.validateObject(' + typeof a + ') should not throw TypeException ' + b, function () { - expect(validateObject(a)).to.be.undefined; + expect(validateObject(a)).to.be.equal(a); }); } @@ -296,7 +296,7 @@ describe('validate', function () { let b = data.shift() it('.validateInstance(' + typeof a + ') should not throw TypeException ' , function () { - expect(validateInstance(a, b)).to.be.undefined; + expect(validateInstance(a, b)).to.be.equal(a); }); }); @@ -336,7 +336,7 @@ describe('validate', function () { } else { it('.validateArray(' + typeof a + ') should not throw TypeException ' + b, function () { - expect(validateArray(a)).to.be.undefined; + expect(validateArray(a)).to.be.equal(a); }); } @@ -375,7 +375,7 @@ describe('validate', function () { } else { it('.validateFunction(' + typeof a + ') should not throw TypeException ' + b, function () { - expect(validateFunction(a)).to.be.undefined; + expect(validateFunction(a)).to.be.equal(a); }); } diff --git a/packages/monster/test/util/chai-dom.js b/packages/monster/test/util/chai-dom.js new file mode 100644 index 000000000..4ac6b859d --- /dev/null +++ b/packages/monster/test/util/chai-dom.js @@ -0,0 +1,352 @@ +/******** + + Convert chai-dom 1.8.1 to es module, without any other modification. + From https://github.com/nathanboktae/chai-dom/blob/86c3423/chai-dom.js + See https://github.com/nathanboktae/chai-dom/issues/38 + + Usage: + import { chaiDom } from '<path-to>/chai-dom'; + chai.use(chaiDom); + + Copyright (c) 2015 Nathan Black and other contributors + + This work is licensed under the terms of the MIT license. For a copy, see <https://opensource.org/licenses/MIT>. + + **********/ + +export function chaiDom(chai, utils) { + var flag = utils.flag, + + elToString = function(el) { + var desc + if (isNodeList(el)) { + if (el.length === 0) return 'empty NodeList' + desc = Array.prototype.slice.call(el, 0, 5).map(elToString).join(', ') + return el.length > 5 ? desc + '... (+' + (el.length - 5) + ' more)' : desc + } + if (!isHTMLElement(el)) { + return String(el) + } + + desc = el.tagName.toLowerCase() + if (el.id) { + desc += '#' + el.id + } + if (el.className) { + desc += '.' + String(el.className).replace(/\s+/g, '.') + } + Array.prototype.forEach.call(el.attributes, function(attr) { + if (attr.name !== 'class' && attr.name !== 'id') { + desc += '[' + attr.name + (attr.value ? '="' + attr.value + '"]' : ']') + } + }) + return desc + }, + + attrAssert = function(name, val) { + var el = flag(this, 'object'), actual = el.getAttribute(name) + + if (!flag(this, 'negate') || undefined === val) { + this.assert( + !!el.attributes[name] + , 'expected ' + elToString(el) + ' to have an attribute #{exp}' + , 'expected ' + elToString(el) + ' not to have an attribute #{exp}' + , name + ) + } + + if (undefined !== val) { + this.assert( + val === actual + , 'expected ' + elToString(el) + ' to have an attribute ' + utils.inspect(name) + ' with the value #{exp}, but the value was #{act}' + , 'expected ' + elToString(el) + ' not to have an attribute ' + utils.inspect(name) + ' with the value #{act}' + , val + , actual + ) + } + + flag(this, 'object', actual) + }, + + isHTMLElement = function(el) { + return el.nodeType === 1 // window.Node.ELEMENT_NODE + }, + + isNodeList = function(obj) { + return Object.prototype.toString.call(obj) === '[object NodeList]' + } + + utils.elToString = elToString + chai.Assertion.addMethod('attr', attrAssert) + chai.Assertion.addMethod('attribute', attrAssert) + + chai.Assertion.addMethod('class', function(className) { + var el = flag(this, 'object') + this.assert( + el.classList.contains(className) + , 'expected ' + elToString(el) + ' to have class #{exp}' + , 'expected ' + elToString(el) + ' not to have class #{exp}' + , className + ) + }) + + chai.Assertion.addMethod('id', function(id) { + var el = flag(this, 'object') + this.assert( + el.id == id + , 'expected ' + elToString(el) + ' to have id #{exp}' + , 'expected ' + elToString(el) + ' not to have id #{exp}' + , id + ) + }) + + chai.Assertion.addMethod('html', function(html) { + var el = flag(this, 'object'), actual = flag(this, 'object').innerHTML + + if (flag(this, 'contains')) { + this.assert( + actual.indexOf(html) >= 0 + , 'expected #{act} to contain HTML #{exp}' + , 'expected #{act} not to contain HTML #{exp}' + , html + , actual + ) + } else { + this.assert( + actual === html + , 'expected ' + elToString(el) + ' to have HTML #{exp}, but the HTML was #{act}' + , 'expected ' + elToString(el) + ' not to have HTML #{exp}' + , html + , actual + ) + } + }) + + chai.Assertion.addChainableMethod('trimmed', null, function() { + flag(this, 'trim-text', true) + }) + + chai.Assertion.addMethod('text', function(text) { + var obj = flag(this, 'object'), contains = flag(this, 'contains'), + trim = flag(this, 'trim-text'), actual, result + + if (isNodeList(obj)) { + actual = Array.prototype.map.call(obj, function(el) { return trim ? el.textContent.trim() : el.textContent }) + if (Array.isArray(text)) { + result = contains ? + text[flag(this, 'negate') ? 'some' : 'every'](function(t) { + return Array.prototype.some.call(obj, function(el) { + return (trim ? el.textContent.trim() : el.textContent) === t + }) + }) + : + utils.eql(actual, text) + + actual = actual.join() + text = text.join() + } else { + actual = actual.join('') + result = contains ? actual.indexOf(text) >= 0 : actual === text + } + } else { + actual = trim ? obj.textContent.trim() : obj.textContent + result = contains ? actual.indexOf(text) >= 0 : actual === text + } + + var objDesc = elToString(obj), textMsg = trim ? 'trimmed text' : 'text' + if (contains) { + this.assert( + result + , 'expected ' + objDesc + ' to contain #{exp}, but the ' + textMsg + ' was #{act}' + , 'expected ' + objDesc + ' not to contain #{exp}, but the ' + textMsg + ' was #{act}' + , text + , actual + ) + } else { + this.assert( + result + , 'expected ' + objDesc + ' to have ' + textMsg + ' #{exp}, but the ' + textMsg + ' was #{act}' + , 'expected ' + objDesc + ' not to have ' + textMsg + ' #{exp}' + , text + , actual + ) + } + }) + + chai.Assertion.addMethod('value', function(value) { + var el = flag(this, 'object'), actual = flag(this, 'object').value + this.assert( + flag(this, 'object').value === value + , 'expected ' + elToString(el) + ' to have value #{exp}, but the value was #{act}' + , 'expected ' + elToString(el) + ' not to have value #{exp}' + , value + , actual + ) + }) + + chai.Assertion.overwriteProperty('exist', function(_super) { + return function() { + var obj = flag(this, 'object') + if (isNodeList(obj)) { + this.assert( + obj.length > 0 + , 'expected an empty NodeList to have nodes' + , 'expected ' + elToString(obj) + ' to not exist') + } else { + _super.apply(this, arguments) + } + } + }) + + chai.Assertion.overwriteProperty('empty', function(_super) { + return function() { + var obj = flag(this, 'object') + if (isHTMLElement(obj)) { + this.assert( + obj.children.length === 0 + , 'expected ' + elToString(obj) + ' to be empty' + , 'expected ' + elToString(obj) + ' to not be empty') + } else if (isNodeList(obj)) { + this.assert( + obj.length === 0 + , 'expected ' + elToString(obj) + ' to be empty' + , 'expected ' + elToString(obj) + ' to not be empty') + } else { + _super.apply(this, arguments) + } + } + }) + + chai.Assertion.overwriteChainableMethod('length', + function(_super) { + return function(length) { + var obj = flag(this, 'object') + if (isNodeList(obj) || isHTMLElement(obj)) { + var actualLength = obj.children ? obj.children.length : obj.length + this.assert( + actualLength === length + , 'expected ' + elToString(obj) + ' to have #{exp} children but it had #{act} children' + , 'expected ' + elToString(obj) + ' to not have #{exp} children' + , length + , actualLength + ) + } else { + _super.apply(this, arguments) + } + } + }, + function(_super) { + return function() { + _super.call(this) + } + } + ) + + + chai.Assertion.overwriteMethod('match', function(_super) { + return function(selector) { + var obj = flag(this, 'object') + if (isHTMLElement(obj)) { + this.assert( + obj.matches(selector) + , 'expected ' + elToString(obj) + ' to match #{exp}' + , 'expected ' + elToString(obj) + ' to not match #{exp}' + , selector + ) + } else if (isNodeList(obj)) { + this.assert( + (!!obj.length && Array.prototype.every.call(obj, function(el) { return el.matches(selector) })) + , 'expected ' + elToString(obj) + ' to match #{exp}' + , 'expected ' + elToString(obj) + ' to not match #{exp}' + , selector + ) + } else { + _super.apply(this, arguments) + } + } + }) + + chai.Assertion.overwriteChainableMethod('contain', + function(_super) { + return function(subitem) { + var obj = flag(this, 'object') + if (isHTMLElement(obj)) { + if (typeof subitem === 'string') { + this.assert( + !!obj.querySelector(subitem) + , 'expected ' + elToString(obj) + ' to contain #{exp}' + , 'expected ' + elToString(obj) + ' to not contain #{exp}' + , subitem) + } else { + this.assert( + obj.contains(subitem) + , 'expected ' + elToString(obj) + ' to contain ' + elToString(subitem) + , 'expected ' + elToString(obj) + ' to not contain ' + elToString(subitem)) + } + } else { + _super.apply(this, arguments) + } + } + }, + function(_super) { + return function() { + _super.call(this) + } + } + ) + + chai.Assertion.addMethod('descendant', function(subitem) { + var obj = flag(this, 'object'), actual = subitem + + if (typeof subitem === 'string') { + actual = obj.querySelector(subitem) + this.assert( + !!actual + , 'expected ' + elToString(obj) + ' to have descendant #{exp}' + , 'expected ' + elToString(obj) + ' to not have descendant #{exp}' + , subitem) + } else { + this.assert( + obj.contains(subitem) + , 'expected ' + elToString(obj) + ' to contain ' + elToString(subitem) + , 'expected ' + elToString(obj) + ' to not contain ' + elToString(subitem)) + } + + flag(this, 'object', actual) + }) + + chai.Assertion.addMethod('descendants', function(selector) { + var obj = flag(this, 'object'), + actual = obj.querySelectorAll(selector) + this.assert( + !!actual.length + , 'expected ' + elToString(obj) + ' to have descendants #{exp}' + , 'expected ' + elToString(obj) + ' to not have descendants #{exp}' + , selector) + flag(this, 'object', actual) + }) + + chai.Assertion.addProperty('displayed', function() { + var el = flag(this, 'object'), + actual = document.body.contains(el) ? window.getComputedStyle(el).display : el.style.display + + this.assert( + actual !== 'none' + , 'expected ' + elToString(el) + ' to be displayed, but it was not' + , 'expected ' + elToString(el) + ' to not be displayed, but it was as ' + actual + , actual + ) + }) + + chai.Assertion.addProperty('visible', function() { + var el = flag(this, 'object'), + actual = document.body.contains(el) ? window.getComputedStyle(el).visibility : el.style.visibility + + this.assert( + actual !== 'hidden' && actual !== 'collapse' + , 'expected ' + elToString(el) + ' to be visible, but it was ' + (actual === 'hidden' ? 'hidden' : 'collapsed') + , 'expected ' + elToString(el) + ' to not be visible, but it was' + , actual + ) + }) +} \ No newline at end of file diff --git a/packages/monster/test/util/jsdom.js b/packages/monster/test/util/jsdom.js index ae7d7e3ef..e9b5eb0c3 100644 --- a/packages/monster/test/util/jsdom.js +++ b/packages/monster/test/util/jsdom.js @@ -4,7 +4,7 @@ import {getGlobal} from "../../source/types/global.js"; /** * this helper function creates the dom stack in the node environment - * + * * @return {Promise<unknown>|Promise<void>} */ function initJSDOM() { @@ -13,10 +13,13 @@ function initJSDOM() { const g = getGlobal(); return import("jsdom").then(({JSDOM}) => { - const {window} = new JSDOM('', { - url: 'http://example.com/', + const {window} = new JSDOM(`<html> +<head> +</head> +<body> +<div id="mocks"></div> +</body>`, { pretendToBeVisual: true, - referrer: "https://example.com/", contentType: "text/html", includeNodeLocations: true, storageQuota: 10000000 @@ -37,6 +40,7 @@ function initJSDOM() { 'customElements', 'DocumentFragment', 'DOMParser', + 'CSSStyleSheet', 'MutationObserver', 'HTMLTemplateElement', 'XMLSerializer', diff --git a/packages/monster/test/web/import.js b/packages/monster/test/web/import.js index bd390b99f..a24d22b87 100644 --- a/packages/monster/test/web/import.js +++ b/packages/monster/test/web/import.js @@ -4,9 +4,11 @@ import "../cases/logging/logger.js"; import "../cases/logging/handler.js"; import "../cases/logging/logentry.js"; import "../cases/dom/handle.js"; +import "../cases/dom/updater.js"; import "../cases/dom/template.js"; import "../cases/dom/util.js"; import "../cases/dom/assembler.js"; +import "../cases/dom/theme.js"; import "../cases/dom/customelement.js"; import "../cases/types/queue.js"; import "../cases/types/observer.js"; @@ -16,6 +18,7 @@ import "../cases/types/is.js"; import "../cases/types/proxyobserver.js"; import "../cases/types/uniquequeue.js"; import "../cases/types/tokenlist.js"; +import "../cases/types/typeof.js"; import "../cases/types/base.js"; import "../cases/types/version.js"; import "../cases/types/id.js"; @@ -33,6 +36,7 @@ import "../cases/util/clone.js"; import "../cases/data/pathfinder.js"; import "../cases/data/pipe.js"; import "../cases/data/diff.js"; +import "../cases/data/buildmap.js"; import "../cases/data/transformer.js"; import "../cases/math/random.js"; import "../cases/monster.js"; diff --git a/packages/monster/test/web/mocha.js b/packages/monster/test/web/mocha.js index c5ac9a55c..df4618d81 100644 --- a/packages/monster/test/web/mocha.js +++ b/packages/monster/test/web/mocha.js @@ -1,4 +1,5 @@ // mocha@9.0.2 transpiled to javascript ES5 +SharedArrayBuffer = ArrayBuffer; (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : diff --git a/packages/monster/test/web/test.html b/packages/monster/test/web/test.html index a059b7409..5e15340b2 100644 --- a/packages/monster/test/web/test.html +++ b/packages/monster/test/web/test.html @@ -7,6 +7,7 @@ <link rel="stylesheet" href="mocha.css"/> </head> <body> +<div id="mocks"></div> <div id="mocha"></div> <script src="mocha.js"></script> <script> diff --git a/packages/monster/test/web/tests.js b/packages/monster/test/web/tests.js index e4a021d4f..4952a7a1b 100644 --- a/packages/monster/test/web/tests.js +++ b/packages/monster/test/web/tests.js @@ -12,6 +12,13 @@ function _arrayLikeToArray(arr, len) { module.exports = _arrayLikeToArray; module.exports["default"] = module.exports, module.exports.__esModule = true; },{}],2:[function(require,module,exports){ +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +module.exports = _arrayWithHoles; +module.exports["default"] = module.exports, module.exports.__esModule = true; +},{}],3:[function(require,module,exports){ var arrayLikeToArray = require("./arrayLikeToArray.js"); function _arrayWithoutHoles(arr) { @@ -20,7 +27,7 @@ function _arrayWithoutHoles(arr) { module.exports = _arrayWithoutHoles; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{"./arrayLikeToArray.js":1}],3:[function(require,module,exports){ +},{"./arrayLikeToArray.js":1}],4:[function(require,module,exports){ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); @@ -31,7 +38,7 @@ function _assertThisInitialized(self) { module.exports = _assertThisInitialized; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{}],4:[function(require,module,exports){ +},{}],5:[function(require,module,exports){ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); @@ -70,7 +77,7 @@ function _asyncToGenerator(fn) { module.exports = _asyncToGenerator; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{}],5:[function(require,module,exports){ +},{}],6:[function(require,module,exports){ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); @@ -79,7 +86,7 @@ function _classCallCheck(instance, Constructor) { module.exports = _classCallCheck; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{}],6:[function(require,module,exports){ +},{}],7:[function(require,module,exports){ var setPrototypeOf = require("./setPrototypeOf.js"); var isNativeReflectConstruct = require("./isNativeReflectConstruct.js"); @@ -106,7 +113,7 @@ function _construct(Parent, args, Class) { module.exports = _construct; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{"./isNativeReflectConstruct.js":13,"./setPrototypeOf.js":17}],7:[function(require,module,exports){ +},{"./isNativeReflectConstruct.js":14,"./setPrototypeOf.js":20}],8:[function(require,module,exports){ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; @@ -125,7 +132,7 @@ function _createClass(Constructor, protoProps, staticProps) { module.exports = _createClass; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{}],8:[function(require,module,exports){ +},{}],9:[function(require,module,exports){ var superPropBase = require("./superPropBase.js"); function _get(target, property, receiver) { @@ -153,7 +160,7 @@ function _get(target, property, receiver) { module.exports = _get; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{"./superPropBase.js":18}],9:[function(require,module,exports){ +},{"./superPropBase.js":22}],10:[function(require,module,exports){ function _getPrototypeOf(o) { module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); @@ -164,7 +171,7 @@ function _getPrototypeOf(o) { module.exports = _getPrototypeOf; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{}],10:[function(require,module,exports){ +},{}],11:[function(require,module,exports){ var setPrototypeOf = require("./setPrototypeOf.js"); function _inherits(subClass, superClass) { @@ -184,7 +191,7 @@ function _inherits(subClass, superClass) { module.exports = _inherits; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{"./setPrototypeOf.js":17}],11:[function(require,module,exports){ +},{"./setPrototypeOf.js":20}],12:[function(require,module,exports){ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj @@ -193,14 +200,14 @@ function _interopRequireDefault(obj) { module.exports = _interopRequireDefault; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{}],12:[function(require,module,exports){ +},{}],13:[function(require,module,exports){ function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; } module.exports = _isNativeFunction; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{}],13:[function(require,module,exports){ +},{}],14:[function(require,module,exports){ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; @@ -216,21 +223,61 @@ function _isNativeReflectConstruct() { module.exports = _isNativeReflectConstruct; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{}],14:[function(require,module,exports){ +},{}],15:[function(require,module,exports){ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } module.exports = _iterableToArray; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{}],15:[function(require,module,exports){ +},{}],16:[function(require,module,exports){ +function _iterableToArrayLimit(arr, i) { + var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; + + if (_i == null) return; + var _arr = []; + var _n = true; + var _d = false; + + var _s, _e; + + try { + for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +module.exports = _iterableToArrayLimit; +module.exports["default"] = module.exports, module.exports.__esModule = true; +},{}],17:[function(require,module,exports){ +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +module.exports = _nonIterableRest; +module.exports["default"] = module.exports, module.exports.__esModule = true; +},{}],18:[function(require,module,exports){ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableSpread; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{}],16:[function(require,module,exports){ +},{}],19:[function(require,module,exports){ var _typeof = require("@babel/runtime/helpers/typeof")["default"]; var assertThisInitialized = require("./assertThisInitialized.js"); @@ -245,7 +292,7 @@ function _possibleConstructorReturn(self, call) { module.exports = _possibleConstructorReturn; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{"./assertThisInitialized.js":3,"@babel/runtime/helpers/typeof":20}],17:[function(require,module,exports){ +},{"./assertThisInitialized.js":4,"@babel/runtime/helpers/typeof":24}],20:[function(require,module,exports){ function _setPrototypeOf(o, p) { module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; @@ -258,7 +305,22 @@ function _setPrototypeOf(o, p) { module.exports = _setPrototypeOf; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{}],18:[function(require,module,exports){ +},{}],21:[function(require,module,exports){ +var arrayWithHoles = require("./arrayWithHoles.js"); + +var iterableToArrayLimit = require("./iterableToArrayLimit.js"); + +var unsupportedIterableToArray = require("./unsupportedIterableToArray.js"); + +var nonIterableRest = require("./nonIterableRest.js"); + +function _slicedToArray(arr, i) { + return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); +} + +module.exports = _slicedToArray; +module.exports["default"] = module.exports, module.exports.__esModule = true; +},{"./arrayWithHoles.js":2,"./iterableToArrayLimit.js":16,"./nonIterableRest.js":17,"./unsupportedIterableToArray.js":25}],22:[function(require,module,exports){ var getPrototypeOf = require("./getPrototypeOf.js"); function _superPropBase(object, property) { @@ -272,7 +334,7 @@ function _superPropBase(object, property) { module.exports = _superPropBase; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{"./getPrototypeOf.js":9}],19:[function(require,module,exports){ +},{"./getPrototypeOf.js":10}],23:[function(require,module,exports){ var arrayWithoutHoles = require("./arrayWithoutHoles.js"); var iterableToArray = require("./iterableToArray.js"); @@ -287,7 +349,7 @@ function _toConsumableArray(arr) { module.exports = _toConsumableArray; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{"./arrayWithoutHoles.js":2,"./iterableToArray.js":14,"./nonIterableSpread.js":15,"./unsupportedIterableToArray.js":21}],20:[function(require,module,exports){ +},{"./arrayWithoutHoles.js":3,"./iterableToArray.js":15,"./nonIterableSpread.js":18,"./unsupportedIterableToArray.js":25}],24:[function(require,module,exports){ function _typeof(obj) { "@babel/helpers - typeof"; @@ -310,7 +372,7 @@ function _typeof(obj) { module.exports = _typeof; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{}],21:[function(require,module,exports){ +},{}],25:[function(require,module,exports){ var arrayLikeToArray = require("./arrayLikeToArray.js"); function _unsupportedIterableToArray(o, minLen) { @@ -324,7 +386,7 @@ function _unsupportedIterableToArray(o, minLen) { module.exports = _unsupportedIterableToArray; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{"./arrayLikeToArray.js":1}],22:[function(require,module,exports){ +},{"./arrayLikeToArray.js":1}],26:[function(require,module,exports){ var getPrototypeOf = require("./getPrototypeOf.js"); var setPrototypeOf = require("./setPrototypeOf.js"); @@ -370,7 +432,7 @@ function _wrapNativeSuper(Class) { module.exports = _wrapNativeSuper; module.exports["default"] = module.exports, module.exports.__esModule = true; -},{"./construct.js":6,"./getPrototypeOf.js":9,"./isNativeFunction.js":12,"./setPrototypeOf.js":17}],23:[function(require,module,exports){ +},{"./construct.js":7,"./getPrototypeOf.js":10,"./isNativeFunction.js":13,"./setPrototypeOf.js":20}],27:[function(require,module,exports){ /** * Copyright (c) 2014-present, Facebook, Inc. * @@ -1126,10 +1188,10 @@ try { } } -},{}],24:[function(require,module,exports){ +},{}],28:[function(require,module,exports){ module.exports = require("regenerator-runtime"); -},{"regenerator-runtime":23}],25:[function(require,module,exports){ +},{"regenerator-runtime":27}],29:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsnConvert = void 0; @@ -1157,7 +1219,7 @@ class AsnConvert { } exports.AsnConvert = AsnConvert; -},{"./parser":34,"./serializer":36,"asn1js":67,"pvtsutils":985}],26:[function(require,module,exports){ +},{"./parser":38,"./serializer":40,"asn1js":71,"pvtsutils":989}],30:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultConverter = exports.AsnNullConverter = exports.AsnGeneralizedTimeConverter = exports.AsnUTCTimeConverter = exports.AsnCharacterStringConverter = exports.AsnGeneralStringConverter = exports.AsnVisibleStringConverter = exports.AsnGraphicStringConverter = exports.AsnIA5StringConverter = exports.AsnVideotexStringConverter = exports.AsnTeletexStringConverter = exports.AsnPrintableStringConverter = exports.AsnNumericStringConverter = exports.AsnUniversalStringConverter = exports.AsnBmpStringConverter = exports.AsnUtf8StringConverter = exports.AsnOctetStringConverter = exports.AsnBooleanConverter = exports.AsnObjectIdentifierConverter = exports.AsnBitStringConverter = exports.AsnIntegerArrayBufferConverter = exports.AsnEnumeratedConverter = exports.AsnIntegerConverter = exports.AsnAnyConverter = void 0; @@ -1290,7 +1352,7 @@ function defaultConverter(type) { } exports.defaultConverter = defaultConverter; -},{"./enums":28,"asn1js":67}],27:[function(require,module,exports){ +},{"./enums":32,"asn1js":71}],31:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsnProp = exports.AsnType = void 0; @@ -1329,7 +1391,7 @@ const AsnProp = (options) => (target, propertyKey) => { }; exports.AsnProp = AsnProp; -},{"./converters":26,"./storage":37}],28:[function(require,module,exports){ +},{"./converters":30,"./storage":41}],32:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsnPropTypes = exports.AsnTypeTypes = void 0; @@ -1370,13 +1432,13 @@ var AsnPropTypes; AsnPropTypes[AsnPropTypes["Null"] = 27] = "Null"; })(AsnPropTypes = exports.AsnPropTypes || (exports.AsnPropTypes = {})); -},{}],29:[function(require,module,exports){ +},{}],33:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); tslib_1.__exportStar(require("./schema_validation"), exports); -},{"./schema_validation":30,"tslib":1055}],30:[function(require,module,exports){ +},{"./schema_validation":34,"tslib":1059}],34:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsnSchemaValidationError = void 0; @@ -1388,7 +1450,7 @@ class AsnSchemaValidationError extends Error { } exports.AsnSchemaValidationError = AsnSchemaValidationError; -},{}],31:[function(require,module,exports){ +},{}],35:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isArrayEqual = exports.isTypeOfArray = exports.isConvertible = void 0; @@ -1436,7 +1498,7 @@ function isArrayEqual(bytes1, bytes2) { } exports.isArrayEqual = isArrayEqual; -},{}],32:[function(require,module,exports){ +},{}],36:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsnSerializer = exports.AsnParser = exports.AsnPropTypes = exports.AsnTypeTypes = exports.AsnType = exports.AsnProp = void 0; @@ -1457,7 +1519,7 @@ tslib_1.__exportStar(require("./errors"), exports); tslib_1.__exportStar(require("./objects"), exports); tslib_1.__exportStar(require("./convert"), exports); -},{"./convert":25,"./converters":26,"./decorators":27,"./enums":28,"./errors":29,"./objects":33,"./parser":34,"./serializer":36,"./types/index":39,"tslib":1055}],33:[function(require,module,exports){ +},{"./convert":29,"./converters":30,"./decorators":31,"./enums":32,"./errors":33,"./objects":37,"./parser":38,"./serializer":40,"./types/index":43,"tslib":1059}],37:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsnArray = void 0; @@ -1476,7 +1538,7 @@ class AsnArray extends Array { } exports.AsnArray = AsnArray; -},{}],34:[function(require,module,exports){ +},{}],38:[function(require,module,exports){ (function (Buffer){(function (){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -1617,7 +1679,7 @@ class AsnParser { exports.AsnParser = AsnParser; }).call(this)}).call(this,require("buffer").Buffer) -},{"./converters":26,"./enums":28,"./errors":29,"./helper":31,"./storage":37,"asn1js":67,"buffer":124}],35:[function(require,module,exports){ +},{"./converters":30,"./enums":32,"./errors":33,"./helper":35,"./storage":41,"asn1js":71,"buffer":128}],39:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsnSchemaStorage = void 0; @@ -1780,7 +1842,7 @@ class AsnSchemaStorage { } exports.AsnSchemaStorage = AsnSchemaStorage; -},{"./enums":28,"./helper":31,"asn1js":67}],36:[function(require,module,exports){ +},{"./enums":32,"./helper":35,"asn1js":71}],40:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsnSerializer = void 0; @@ -1924,14 +1986,14 @@ class AsnSerializer { } exports.AsnSerializer = AsnSerializer; -},{"./converters":26,"./enums":28,"./helper":31,"./storage":37,"asn1js":67}],37:[function(require,module,exports){ +},{"./converters":30,"./enums":32,"./helper":35,"./storage":41,"asn1js":71}],41:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.schemaStorage = void 0; const schema_1 = require("./schema"); exports.schemaStorage = new schema_1.AsnSchemaStorage(); -},{"./schema":35}],38:[function(require,module,exports){ +},{"./schema":39}],42:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BitString = void 0; @@ -1996,14 +2058,14 @@ class BitString { } exports.BitString = BitString; -},{"asn1js":67,"pvtsutils":985}],39:[function(require,module,exports){ +},{"asn1js":71,"pvtsutils":989}],43:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); tslib_1.__exportStar(require("./bit_string"), exports); tslib_1.__exportStar(require("./octet_string"), exports); -},{"./bit_string":38,"./octet_string":40,"tslib":1055}],40:[function(require,module,exports){ +},{"./bit_string":42,"./octet_string":44,"tslib":1059}],44:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OctetString = void 0; @@ -2048,7 +2110,7 @@ class OctetString { } exports.OctetString = OctetString; -},{"asn1js":67,"pvtsutils":985}],41:[function(require,module,exports){ +},{"asn1js":71,"pvtsutils":989}],45:[function(require,module,exports){ /** * Copyright (c) 2020, Peculiar Ventures, All rights reserved. */ @@ -2545,7 +2607,7 @@ exports.SerializerError = SerializerError; exports.TransformError = TransformError; exports.ValidationError = ValidationError; -},{}],42:[function(require,module,exports){ +},{}],46:[function(require,module,exports){ (function (Buffer){(function (){ /** * Copyright (c) 2020 Peculiar Ventures, LLC @@ -4740,7 +4802,7 @@ Object.defineProperty(exports, 'CryptoKey', { exports.Crypto = Crypto; }).call(this)}).call(this,require("buffer").Buffer) -},{"@peculiar/asn1-schema":32,"@peculiar/json-schema":41,"buffer":124,"crypto":169,"process":1198,"pvtsutils":985,"tslib":1055,"webcrypto-core":1074}],43:[function(require,module,exports){ +},{"@peculiar/asn1-schema":36,"@peculiar/json-schema":45,"buffer":128,"crypto":173,"process":1212,"pvtsutils":989,"tslib":1059,"webcrypto-core":1078}],47:[function(require,module,exports){ "use strict"; function noop() { } function once(emitter, name) { @@ -4780,7 +4842,7 @@ function once(emitter, name) { })(once || (once = {})); module.exports = once; -},{}],44:[function(require,module,exports){ +},{}],48:[function(require,module,exports){ "use strict"; const atob = require("./lib/atob"); @@ -4791,7 +4853,7 @@ module.exports = { btoa }; -},{"./lib/atob":45,"./lib/btoa":46}],45:[function(require,module,exports){ +},{"./lib/atob":49,"./lib/btoa":50}],49:[function(require,module,exports){ "use strict"; /** @@ -4890,7 +4952,7 @@ function atobLookup(chr) { module.exports = atob; -},{}],46:[function(require,module,exports){ +},{}],50:[function(require,module,exports){ "use strict"; /** @@ -4950,7 +5012,7 @@ function btoaLookup(index) { module.exports = btoa; -},{}],47:[function(require,module,exports){ +},{}],51:[function(require,module,exports){ 'use strict'; var acorn = require('acorn'); @@ -5131,7 +5193,7 @@ function findGlobals(source, options) { }); } -},{"acorn":49,"acorn-walk":48}],48:[function(require,module,exports){ +},{"acorn":53,"acorn-walk":52}],52:[function(require,module,exports){ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : @@ -5596,7 +5658,7 @@ function findGlobals(source, options) { }))); -},{}],49:[function(require,module,exports){ +},{}],53:[function(require,module,exports){ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : @@ -10784,7 +10846,7 @@ function findGlobals(source, options) { }))); -},{}],50:[function(require,module,exports){ +},{}],54:[function(require,module,exports){ "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; @@ -10988,7 +11050,7 @@ function createAgent(callback, opts) { })(createAgent || (createAgent = {})); module.exports = createAgent; -},{"./promisify":51,"debug":223,"events":280}],51:[function(require,module,exports){ +},{"./promisify":55,"debug":227,"events":284}],55:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function promisify(fn) { @@ -11007,7 +11069,7 @@ function promisify(fn) { } exports.default = promisify; -},{}],52:[function(require,module,exports){ +},{}],56:[function(require,module,exports){ 'use strict'; const asn1 = exports; @@ -11020,7 +11082,7 @@ asn1.constants = require('./asn1/constants'); asn1.decoders = require('./asn1/decoders'); asn1.encoders = require('./asn1/encoders'); -},{"./asn1/api":53,"./asn1/base":55,"./asn1/constants":59,"./asn1/decoders":61,"./asn1/encoders":64,"bn.js":66}],53:[function(require,module,exports){ +},{"./asn1/api":57,"./asn1/base":59,"./asn1/constants":63,"./asn1/decoders":65,"./asn1/encoders":68,"bn.js":70}],57:[function(require,module,exports){ 'use strict'; const encoders = require('./encoders'); @@ -11079,7 +11141,7 @@ Entity.prototype.encode = function encode(data, enc, /* internal */ reporter) { return this._getEncoder(enc).encode(data, reporter); }; -},{"./decoders":61,"./encoders":64,"inherits":328}],54:[function(require,module,exports){ +},{"./decoders":65,"./encoders":68,"inherits":332}],58:[function(require,module,exports){ 'use strict'; const inherits = require('inherits'); @@ -11234,7 +11296,7 @@ EncoderBuffer.prototype.join = function join(out, offset) { return out; }; -},{"../base/reporter":57,"inherits":328,"safer-buffer":994}],55:[function(require,module,exports){ +},{"../base/reporter":61,"inherits":332,"safer-buffer":998}],59:[function(require,module,exports){ 'use strict'; const base = exports; @@ -11244,7 +11306,7 @@ base.DecoderBuffer = require('./buffer').DecoderBuffer; base.EncoderBuffer = require('./buffer').EncoderBuffer; base.Node = require('./node'); -},{"./buffer":54,"./node":56,"./reporter":57}],56:[function(require,module,exports){ +},{"./buffer":58,"./node":60,"./reporter":61}],60:[function(require,module,exports){ 'use strict'; const Reporter = require('../base/reporter').Reporter; @@ -11884,7 +11946,7 @@ Node.prototype._isPrintstr = function isPrintstr(str) { return /^[A-Za-z0-9 '()+,-./:=?]*$/.test(str); }; -},{"../base/buffer":54,"../base/reporter":57,"minimalistic-assert":920}],57:[function(require,module,exports){ +},{"../base/buffer":58,"../base/reporter":61,"minimalistic-assert":924}],61:[function(require,module,exports){ 'use strict'; const inherits = require('inherits'); @@ -12009,7 +12071,7 @@ ReporterError.prototype.rethrow = function rethrow(msg) { return this; }; -},{"inherits":328}],58:[function(require,module,exports){ +},{"inherits":332}],62:[function(require,module,exports){ 'use strict'; // Helper @@ -12069,7 +12131,7 @@ exports.tag = { }; exports.tagByName = reverse(exports.tag); -},{}],59:[function(require,module,exports){ +},{}],63:[function(require,module,exports){ 'use strict'; const constants = exports; @@ -12092,7 +12154,7 @@ constants._reverse = function reverse(map) { constants.der = require('./der'); -},{"./der":58}],60:[function(require,module,exports){ +},{"./der":62}],64:[function(require,module,exports){ 'use strict'; const inherits = require('inherits'); @@ -12429,7 +12491,7 @@ function derDecodeLen(buf, primitive, fail) { return len; } -},{"../base/buffer":54,"../base/node":56,"../constants/der":58,"bn.js":66,"inherits":328}],61:[function(require,module,exports){ +},{"../base/buffer":58,"../base/node":60,"../constants/der":62,"bn.js":70,"inherits":332}],65:[function(require,module,exports){ 'use strict'; const decoders = exports; @@ -12437,7 +12499,7 @@ const decoders = exports; decoders.der = require('./der'); decoders.pem = require('./pem'); -},{"./der":60,"./pem":62}],62:[function(require,module,exports){ +},{"./der":64,"./pem":66}],66:[function(require,module,exports){ 'use strict'; const inherits = require('inherits'); @@ -12490,7 +12552,7 @@ PEMDecoder.prototype.decode = function decode(data, options) { return DERDecoder.prototype.decode.call(this, input, options); }; -},{"./der":60,"inherits":328,"safer-buffer":994}],63:[function(require,module,exports){ +},{"./der":64,"inherits":332,"safer-buffer":998}],67:[function(require,module,exports){ 'use strict'; const inherits = require('inherits'); @@ -12787,7 +12849,7 @@ function encodeTag(tag, primitive, cls, reporter) { return res; } -},{"../base/node":56,"../constants/der":58,"inherits":328,"safer-buffer":994}],64:[function(require,module,exports){ +},{"../base/node":60,"../constants/der":62,"inherits":332,"safer-buffer":998}],68:[function(require,module,exports){ 'use strict'; const encoders = exports; @@ -12795,7 +12857,7 @@ const encoders = exports; encoders.der = require('./der'); encoders.pem = require('./pem'); -},{"./der":63,"./pem":65}],65:[function(require,module,exports){ +},{"./der":67,"./pem":69}],69:[function(require,module,exports){ 'use strict'; const inherits = require('inherits'); @@ -12820,7 +12882,7 @@ PEMEncoder.prototype.encode = function encode(data, options) { return out.join('\n'); }; -},{"./der":63,"inherits":328}],66:[function(require,module,exports){ +},{"./der":67,"inherits":332}],70:[function(require,module,exports){ (function (module, exports) { 'use strict'; @@ -16268,7 +16330,7 @@ PEMEncoder.prototype.encode = function encode(data, options) { }; })(typeof module === 'undefined' || module, this); -},{"buffer":77}],67:[function(require,module,exports){ +},{"buffer":81}],71:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -22182,7 +22244,7 @@ function fromJSON(json) {// TODO Implement //endregion //************************************************************************************** -},{"pvutils":986}],68:[function(require,module,exports){ +},{"pvutils":990}],72:[function(require,module,exports){ (function (global){(function (){ 'use strict'; @@ -22692,7 +22754,7 @@ var objectKeys = Object.keys || function (obj) { }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"object-assign":924,"util/":71}],69:[function(require,module,exports){ +},{"object-assign":928,"util/":75}],73:[function(require,module,exports){ if (typeof Object.create === 'function') { // implementation from standard node.js 'util' module module.exports = function inherits(ctor, superCtor) { @@ -22717,14 +22779,14 @@ if (typeof Object.create === 'function') { } } -},{}],70:[function(require,module,exports){ +},{}],74:[function(require,module,exports){ module.exports = function isBuffer(arg) { return arg && typeof arg === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function'; } -},{}],71:[function(require,module,exports){ +},{}],75:[function(require,module,exports){ (function (process,global){(function (){ // Copyright Joyent, Inc. and other Node contributors. // @@ -23314,7 +23376,7 @@ function hasOwnProperty(obj, prop) { } }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./support/isBuffer":70,"_process":974,"inherits":69}],72:[function(require,module,exports){ +},{"./support/isBuffer":74,"_process":978,"inherits":73}],76:[function(require,module,exports){ /*! * assertion-error * Copyright(c) 2013 Jake Luer <jake@qualiancy.com> @@ -23432,7 +23494,7 @@ AssertionError.prototype.toJSON = function (stack) { return props; }; -},{}],73:[function(require,module,exports){ +},{}],77:[function(require,module,exports){ (function (global){(function (){ 'use strict'; @@ -23461,7 +23523,7 @@ module.exports = function availableTypedArrays() { }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],74:[function(require,module,exports){ +},{}],78:[function(require,module,exports){ 'use strict' exports.byteLength = byteLength @@ -23613,7 +23675,7 @@ function fromByteArray (uint8) { return parts.join('') } -},{}],75:[function(require,module,exports){ +},{}],79:[function(require,module,exports){ (function (module, exports) { 'use strict'; @@ -27162,7 +27224,7 @@ function fromByteArray (uint8) { }; })(typeof module === 'undefined' || module, this); -},{"buffer":77}],76:[function(require,module,exports){ +},{"buffer":81}],80:[function(require,module,exports){ var r; module.exports = function rand(len) { @@ -27229,9 +27291,9 @@ if (typeof self === 'object') { } } -},{"crypto":77}],77:[function(require,module,exports){ +},{"crypto":81}],81:[function(require,module,exports){ -},{}],78:[function(require,module,exports){ +},{}],82:[function(require,module,exports){ // based on the aes implimentation in triple sec // https://github.com/keybase/triplesec // which is in turn based on the one from crypto-js @@ -27461,7 +27523,7 @@ AES.prototype.scrub = function () { module.exports.AES = AES -},{"safe-buffer":993}],79:[function(require,module,exports){ +},{"safe-buffer":997}],83:[function(require,module,exports){ var aes = require('./aes') var Buffer = require('safe-buffer').Buffer var Transform = require('cipher-base') @@ -27580,7 +27642,7 @@ StreamCipher.prototype.setAAD = function setAAD (buf) { module.exports = StreamCipher -},{"./aes":78,"./ghash":83,"./incr32":84,"buffer-xor":123,"cipher-base":162,"inherits":328,"safe-buffer":993}],80:[function(require,module,exports){ +},{"./aes":82,"./ghash":87,"./incr32":88,"buffer-xor":127,"cipher-base":166,"inherits":332,"safe-buffer":997}],84:[function(require,module,exports){ var ciphers = require('./encrypter') var deciphers = require('./decrypter') var modes = require('./modes/list.json') @@ -27595,7 +27657,7 @@ exports.createDecipher = exports.Decipher = deciphers.createDecipher exports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv exports.listCiphers = exports.getCiphers = getCiphers -},{"./decrypter":81,"./encrypter":82,"./modes/list.json":92}],81:[function(require,module,exports){ +},{"./decrypter":85,"./encrypter":86,"./modes/list.json":96}],85:[function(require,module,exports){ var AuthCipher = require('./authCipher') var Buffer = require('safe-buffer').Buffer var MODES = require('./modes') @@ -27721,7 +27783,7 @@ function createDecipher (suite, password) { exports.createDecipher = createDecipher exports.createDecipheriv = createDecipheriv -},{"./aes":78,"./authCipher":79,"./modes":91,"./streamCipher":94,"cipher-base":162,"evp_bytestokey":281,"inherits":328,"safe-buffer":993}],82:[function(require,module,exports){ +},{"./aes":82,"./authCipher":83,"./modes":95,"./streamCipher":98,"cipher-base":166,"evp_bytestokey":285,"inherits":332,"safe-buffer":997}],86:[function(require,module,exports){ var MODES = require('./modes') var AuthCipher = require('./authCipher') var Buffer = require('safe-buffer').Buffer @@ -27837,7 +27899,7 @@ function createCipher (suite, password) { exports.createCipheriv = createCipheriv exports.createCipher = createCipher -},{"./aes":78,"./authCipher":79,"./modes":91,"./streamCipher":94,"cipher-base":162,"evp_bytestokey":281,"inherits":328,"safe-buffer":993}],83:[function(require,module,exports){ +},{"./aes":82,"./authCipher":83,"./modes":95,"./streamCipher":98,"cipher-base":166,"evp_bytestokey":285,"inherits":332,"safe-buffer":997}],87:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer var ZEROES = Buffer.alloc(16, 0) @@ -27928,7 +27990,7 @@ GHASH.prototype.final = function (abl, bl) { module.exports = GHASH -},{"safe-buffer":993}],84:[function(require,module,exports){ +},{"safe-buffer":997}],88:[function(require,module,exports){ function incr32 (iv) { var len = iv.length var item @@ -27945,7 +28007,7 @@ function incr32 (iv) { } module.exports = incr32 -},{}],85:[function(require,module,exports){ +},{}],89:[function(require,module,exports){ var xor = require('buffer-xor') exports.encrypt = function (self, block) { @@ -27964,7 +28026,7 @@ exports.decrypt = function (self, block) { return xor(out, pad) } -},{"buffer-xor":123}],86:[function(require,module,exports){ +},{"buffer-xor":127}],90:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer var xor = require('buffer-xor') @@ -27999,7 +28061,7 @@ exports.encrypt = function (self, data, decrypt) { return out } -},{"buffer-xor":123,"safe-buffer":993}],87:[function(require,module,exports){ +},{"buffer-xor":127,"safe-buffer":997}],91:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer function encryptByte (self, byteParam, decrypt) { @@ -28043,7 +28105,7 @@ exports.encrypt = function (self, chunk, decrypt) { return out } -},{"safe-buffer":993}],88:[function(require,module,exports){ +},{"safe-buffer":997}],92:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer function encryptByte (self, byteParam, decrypt) { @@ -28070,7 +28132,7 @@ exports.encrypt = function (self, chunk, decrypt) { return out } -},{"safe-buffer":993}],89:[function(require,module,exports){ +},{"safe-buffer":997}],93:[function(require,module,exports){ var xor = require('buffer-xor') var Buffer = require('safe-buffer').Buffer var incr32 = require('../incr32') @@ -28102,7 +28164,7 @@ exports.encrypt = function (self, chunk) { return xor(chunk, pad) } -},{"../incr32":84,"buffer-xor":123,"safe-buffer":993}],90:[function(require,module,exports){ +},{"../incr32":88,"buffer-xor":127,"safe-buffer":997}],94:[function(require,module,exports){ exports.encrypt = function (self, block) { return self._cipher.encryptBlock(block) } @@ -28111,7 +28173,7 @@ exports.decrypt = function (self, block) { return self._cipher.decryptBlock(block) } -},{}],91:[function(require,module,exports){ +},{}],95:[function(require,module,exports){ var modeModules = { ECB: require('./ecb'), CBC: require('./cbc'), @@ -28131,7 +28193,7 @@ for (var key in modes) { module.exports = modes -},{"./cbc":85,"./cfb":86,"./cfb1":87,"./cfb8":88,"./ctr":89,"./ecb":90,"./list.json":92,"./ofb":93}],92:[function(require,module,exports){ +},{"./cbc":89,"./cfb":90,"./cfb1":91,"./cfb8":92,"./ctr":93,"./ecb":94,"./list.json":96,"./ofb":97}],96:[function(require,module,exports){ module.exports={ "aes-128-ecb": { "cipher": "AES", @@ -28324,7 +28386,7 @@ module.exports={ } } -},{}],93:[function(require,module,exports){ +},{}],97:[function(require,module,exports){ (function (Buffer){(function (){ var xor = require('buffer-xor') @@ -28344,7 +28406,7 @@ exports.encrypt = function (self, chunk) { } }).call(this)}).call(this,require("buffer").Buffer) -},{"buffer":124,"buffer-xor":123}],94:[function(require,module,exports){ +},{"buffer":128,"buffer-xor":127}],98:[function(require,module,exports){ var aes = require('./aes') var Buffer = require('safe-buffer').Buffer var Transform = require('cipher-base') @@ -28373,7 +28435,7 @@ StreamCipher.prototype._final = function () { module.exports = StreamCipher -},{"./aes":78,"cipher-base":162,"inherits":328,"safe-buffer":993}],95:[function(require,module,exports){ +},{"./aes":82,"cipher-base":166,"inherits":332,"safe-buffer":997}],99:[function(require,module,exports){ var DES = require('browserify-des') var aes = require('browserify-aes/browser') var aesModes = require('browserify-aes/modes') @@ -28442,7 +28504,7 @@ exports.createDecipher = exports.Decipher = createDecipher exports.createDecipheriv = exports.Decipheriv = createDecipheriv exports.listCiphers = exports.getCiphers = getCiphers -},{"browserify-aes/browser":80,"browserify-aes/modes":91,"browserify-des":96,"browserify-des/modes":97,"evp_bytestokey":281}],96:[function(require,module,exports){ +},{"browserify-aes/browser":84,"browserify-aes/modes":95,"browserify-des":100,"browserify-des/modes":101,"evp_bytestokey":285}],100:[function(require,module,exports){ var CipherBase = require('cipher-base') var des = require('des.js') var inherits = require('inherits') @@ -28494,7 +28556,7 @@ DES.prototype._final = function () { return Buffer.from(this._des.final()) } -},{"cipher-base":162,"des.js":227,"inherits":328,"safe-buffer":993}],97:[function(require,module,exports){ +},{"cipher-base":166,"des.js":231,"inherits":332,"safe-buffer":997}],101:[function(require,module,exports){ exports['des-ecb'] = { key: 8, iv: 0 @@ -28520,7 +28582,7 @@ exports['des-ede'] = { iv: 0 } -},{}],98:[function(require,module,exports){ +},{}],102:[function(require,module,exports){ (function (Buffer){(function (){ var BN = require('bn.js') var randomBytes = require('randombytes') @@ -28559,10 +28621,10 @@ crt.getr = getr module.exports = crt }).call(this)}).call(this,require("buffer").Buffer) -},{"bn.js":75,"buffer":124,"randombytes":990}],99:[function(require,module,exports){ +},{"bn.js":79,"buffer":128,"randombytes":994}],103:[function(require,module,exports){ module.exports = require('./browser/algorithms.json') -},{"./browser/algorithms.json":100}],100:[function(require,module,exports){ +},{"./browser/algorithms.json":104}],104:[function(require,module,exports){ module.exports={ "sha224WithRSAEncryption": { "sign": "rsa", @@ -28716,7 +28778,7 @@ module.exports={ } } -},{}],101:[function(require,module,exports){ +},{}],105:[function(require,module,exports){ module.exports={ "1.3.132.0.10": "secp256k1", "1.3.132.0.33": "p224", @@ -28726,7 +28788,7 @@ module.exports={ "1.3.132.0.35": "p521" } -},{}],102:[function(require,module,exports){ +},{}],106:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer var createHash = require('create-hash') var stream = require('readable-stream') @@ -28820,7 +28882,7 @@ module.exports = { createVerify: createVerify } -},{"./algorithms.json":100,"./sign":103,"./verify":104,"create-hash":165,"inherits":328,"readable-stream":119,"safe-buffer":993}],103:[function(require,module,exports){ +},{"./algorithms.json":104,"./sign":107,"./verify":108,"create-hash":169,"inherits":332,"readable-stream":123,"safe-buffer":997}],107:[function(require,module,exports){ // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js var Buffer = require('safe-buffer').Buffer var createHmac = require('create-hmac') @@ -28965,7 +29027,7 @@ module.exports = sign module.exports.getKey = getKey module.exports.makeKey = makeKey -},{"./curves.json":101,"bn.js":75,"browserify-rsa":98,"create-hmac":167,"elliptic":244,"parse-asn1":941,"safe-buffer":993}],104:[function(require,module,exports){ +},{"./curves.json":105,"bn.js":79,"browserify-rsa":102,"create-hmac":171,"elliptic":248,"parse-asn1":945,"safe-buffer":997}],108:[function(require,module,exports){ // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js var Buffer = require('safe-buffer').Buffer var BN = require('bn.js') @@ -29051,7 +29113,7 @@ function checkValue (b, q) { module.exports = verify -},{"./curves.json":101,"bn.js":75,"elliptic":244,"parse-asn1":941,"safe-buffer":993}],105:[function(require,module,exports){ +},{"./curves.json":105,"bn.js":79,"elliptic":248,"parse-asn1":945,"safe-buffer":997}],109:[function(require,module,exports){ 'use strict'; function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } @@ -29180,7 +29242,7 @@ createErrorType('ERR_UNKNOWN_ENCODING', function (arg) { createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event'); module.exports.codes = codes; -},{}],106:[function(require,module,exports){ +},{}],110:[function(require,module,exports){ (function (process){(function (){ // Copyright Joyent, Inc. and other Node contributors. // @@ -29322,7 +29384,7 @@ Object.defineProperty(Duplex.prototype, 'destroyed', { } }); }).call(this)}).call(this,require('_process')) -},{"./_stream_readable":108,"./_stream_writable":110,"_process":974,"inherits":328}],107:[function(require,module,exports){ +},{"./_stream_readable":112,"./_stream_writable":114,"_process":978,"inherits":332}],111:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -29362,7 +29424,7 @@ function PassThrough(options) { PassThrough.prototype._transform = function (chunk, encoding, cb) { cb(null, chunk); }; -},{"./_stream_transform":109,"inherits":328}],108:[function(require,module,exports){ +},{"./_stream_transform":113,"inherits":332}],112:[function(require,module,exports){ (function (process,global){(function (){ // Copyright Joyent, Inc. and other Node contributors. // @@ -30489,7 +30551,7 @@ function indexOf(xs, x) { return -1; } }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../errors":105,"./_stream_duplex":106,"./internal/streams/async_iterator":111,"./internal/streams/buffer_list":112,"./internal/streams/destroy":113,"./internal/streams/from":115,"./internal/streams/state":117,"./internal/streams/stream":118,"_process":974,"buffer":124,"events":280,"inherits":328,"string_decoder/":1038,"util":77}],109:[function(require,module,exports){ +},{"../errors":109,"./_stream_duplex":110,"./internal/streams/async_iterator":115,"./internal/streams/buffer_list":116,"./internal/streams/destroy":117,"./internal/streams/from":119,"./internal/streams/state":121,"./internal/streams/stream":122,"_process":978,"buffer":128,"events":284,"inherits":332,"string_decoder/":1042,"util":81}],113:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -30691,7 +30753,7 @@ function done(stream, er, data) { if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING(); return stream.push(null); } -},{"../errors":105,"./_stream_duplex":106,"inherits":328}],110:[function(require,module,exports){ +},{"../errors":109,"./_stream_duplex":110,"inherits":332}],114:[function(require,module,exports){ (function (process,global){(function (){ // Copyright Joyent, Inc. and other Node contributors. // @@ -31391,7 +31453,7 @@ Writable.prototype._destroy = function (err, cb) { cb(err); }; }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../errors":105,"./_stream_duplex":106,"./internal/streams/destroy":113,"./internal/streams/state":117,"./internal/streams/stream":118,"_process":974,"buffer":124,"inherits":328,"util-deprecate":1060}],111:[function(require,module,exports){ +},{"../errors":109,"./_stream_duplex":110,"./internal/streams/destroy":117,"./internal/streams/state":121,"./internal/streams/stream":122,"_process":978,"buffer":128,"inherits":332,"util-deprecate":1064}],115:[function(require,module,exports){ (function (process){(function (){ 'use strict'; @@ -31601,7 +31663,7 @@ var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterat module.exports = createReadableStreamAsyncIterator; }).call(this)}).call(this,require('_process')) -},{"./end-of-stream":114,"_process":974}],112:[function(require,module,exports){ +},{"./end-of-stream":118,"_process":978}],116:[function(require,module,exports){ 'use strict'; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } @@ -31812,7 +31874,7 @@ function () { return BufferList; }(); -},{"buffer":124,"util":77}],113:[function(require,module,exports){ +},{"buffer":128,"util":81}],117:[function(require,module,exports){ (function (process){(function (){ 'use strict'; // undocumented cb() API, needed for core, not for public API @@ -31920,7 +31982,7 @@ module.exports = { errorOrDestroy: errorOrDestroy }; }).call(this)}).call(this,require('_process')) -},{"_process":974}],114:[function(require,module,exports){ +},{"_process":978}],118:[function(require,module,exports){ // Ported from https://github.com/mafintosh/end-of-stream with // permission from the author, Mathias Buus (@mafintosh). 'use strict'; @@ -32025,12 +32087,12 @@ function eos(stream, opts, callback) { } module.exports = eos; -},{"../../../errors":105}],115:[function(require,module,exports){ +},{"../../../errors":109}],119:[function(require,module,exports){ module.exports = function () { throw new Error('Readable.from is not available in the browser') }; -},{}],116:[function(require,module,exports){ +},{}],120:[function(require,module,exports){ // Ported from https://github.com/mafintosh/pump with // permission from the author, Mathias Buus (@mafintosh). 'use strict'; @@ -32128,7 +32190,7 @@ function pipeline() { } module.exports = pipeline; -},{"../../../errors":105,"./end-of-stream":114}],117:[function(require,module,exports){ +},{"../../../errors":109,"./end-of-stream":118}],121:[function(require,module,exports){ 'use strict'; var ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE; @@ -32156,10 +32218,10 @@ function getHighWaterMark(state, options, duplexKey, isDuplex) { module.exports = { getHighWaterMark: getHighWaterMark }; -},{"../../../errors":105}],118:[function(require,module,exports){ +},{"../../../errors":109}],122:[function(require,module,exports){ module.exports = require('events').EventEmitter; -},{"events":280}],119:[function(require,module,exports){ +},{"events":284}],123:[function(require,module,exports){ exports = module.exports = require('./lib/_stream_readable.js'); exports.Stream = exports; exports.Readable = exports; @@ -32170,7 +32232,7 @@ exports.PassThrough = require('./lib/_stream_passthrough.js'); exports.finished = require('./lib/internal/streams/end-of-stream.js'); exports.pipeline = require('./lib/internal/streams/pipeline.js'); -},{"./lib/_stream_duplex.js":106,"./lib/_stream_passthrough.js":107,"./lib/_stream_readable.js":108,"./lib/_stream_transform.js":109,"./lib/_stream_writable.js":110,"./lib/internal/streams/end-of-stream.js":114,"./lib/internal/streams/pipeline.js":116}],120:[function(require,module,exports){ +},{"./lib/_stream_duplex.js":110,"./lib/_stream_passthrough.js":111,"./lib/_stream_readable.js":112,"./lib/_stream_transform.js":113,"./lib/_stream_writable.js":114,"./lib/internal/streams/end-of-stream.js":118,"./lib/internal/streams/pipeline.js":120}],124:[function(require,module,exports){ (function (process,Buffer){(function (){ 'use strict'; /* eslint camelcase: "off" */ @@ -32582,7 +32644,7 @@ Zlib.prototype._reset = function () { exports.Zlib = Zlib; }).call(this)}).call(this,require('_process'),require("buffer").Buffer) -},{"_process":974,"assert":68,"buffer":124,"pako/lib/zlib/constants":928,"pako/lib/zlib/deflate.js":930,"pako/lib/zlib/inflate.js":932,"pako/lib/zlib/zstream":936}],121:[function(require,module,exports){ +},{"_process":978,"assert":72,"buffer":128,"pako/lib/zlib/constants":932,"pako/lib/zlib/deflate.js":934,"pako/lib/zlib/inflate.js":936,"pako/lib/zlib/zstream":940}],125:[function(require,module,exports){ (function (process){(function (){ 'use strict'; @@ -33194,9 +33256,9 @@ util.inherits(DeflateRaw, Zlib); util.inherits(InflateRaw, Zlib); util.inherits(Unzip, Zlib); }).call(this)}).call(this,require('_process')) -},{"./binding":120,"_process":974,"assert":68,"buffer":124,"stream":1004,"util":1063}],122:[function(require,module,exports){ -arguments[4][77][0].apply(exports,arguments) -},{"dup":77}],123:[function(require,module,exports){ +},{"./binding":124,"_process":978,"assert":72,"buffer":128,"stream":1008,"util":1067}],126:[function(require,module,exports){ +arguments[4][81][0].apply(exports,arguments) +},{"dup":81}],127:[function(require,module,exports){ (function (Buffer){(function (){ module.exports = function xor (a, b) { var length = Math.min(a.length, b.length) @@ -33210,7 +33272,7 @@ module.exports = function xor (a, b) { } }).call(this)}).call(this,require("buffer").Buffer) -},{"buffer":124}],124:[function(require,module,exports){ +},{"buffer":128}],128:[function(require,module,exports){ (function (Buffer){(function (){ /*! * The buffer module from node.js, for the browser. @@ -34991,7 +35053,7 @@ function numberIsNaN (obj) { } }).call(this)}).call(this,require("buffer").Buffer) -},{"base64-js":74,"buffer":124,"ieee754":327}],125:[function(require,module,exports){ +},{"base64-js":78,"buffer":128,"ieee754":331}],129:[function(require,module,exports){ module.exports = { "100": "Continue", "101": "Switching Protocols", @@ -35057,7 +35119,7 @@ module.exports = { "511": "Network Authentication Required" } -},{}],126:[function(require,module,exports){ +},{}],130:[function(require,module,exports){ 'use strict'; var GetIntrinsic = require('get-intrinsic'); @@ -35074,7 +35136,7 @@ module.exports = function callBoundIntrinsic(name, allowMissing) { return intrinsic; }; -},{"./":127,"get-intrinsic":287}],127:[function(require,module,exports){ +},{"./":131,"get-intrinsic":291}],131:[function(require,module,exports){ 'use strict'; var bind = require('function-bind'); @@ -35123,10 +35185,10 @@ if ($defineProperty) { module.exports.apply = applyBind; } -},{"function-bind":285,"get-intrinsic":287}],128:[function(require,module,exports){ +},{"function-bind":289,"get-intrinsic":291}],132:[function(require,module,exports){ module.exports = require('./lib/chai'); -},{"./lib/chai":129}],129:[function(require,module,exports){ +},{"./lib/chai":133}],133:[function(require,module,exports){ /*! * chai * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com> @@ -35220,7 +35282,7 @@ exports.use(should); var assert = require('./chai/interface/assert'); exports.use(assert); -},{"./chai/assertion":130,"./chai/config":131,"./chai/core/assertions":132,"./chai/interface/assert":133,"./chai/interface/expect":134,"./chai/interface/should":135,"./chai/utils":150,"assertion-error":72}],130:[function(require,module,exports){ +},{"./chai/assertion":134,"./chai/config":135,"./chai/core/assertions":136,"./chai/interface/assert":137,"./chai/interface/expect":138,"./chai/interface/should":139,"./chai/utils":154,"assertion-error":76}],134:[function(require,module,exports){ /*! * chai * http://chaijs.com @@ -35397,7 +35459,7 @@ module.exports = function (_chai, util) { }); }; -},{"./config":131}],131:[function(require,module,exports){ +},{"./config":135}],135:[function(require,module,exports){ module.exports = { /** @@ -35493,7 +35555,7 @@ module.exports = { proxyExcludedKeys: ['then', 'catch', 'inspect', 'toJSON'] }; -},{}],132:[function(require,module,exports){ +},{}],136:[function(require,module,exports){ /*! * chai * http://chaijs.com @@ -39348,7 +39410,7 @@ module.exports = function (chai, _) { }); }; -},{}],133:[function(require,module,exports){ +},{}],137:[function(require,module,exports){ /*! * chai * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com> @@ -42463,7 +42525,7 @@ module.exports = function (chai, util) { ('isNotEmpty', 'notEmpty'); }; -},{}],134:[function(require,module,exports){ +},{}],138:[function(require,module,exports){ /*! * chai * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com> @@ -42512,7 +42574,7 @@ module.exports = function (chai, util) { }; }; -},{}],135:[function(require,module,exports){ +},{}],139:[function(require,module,exports){ /*! * chai * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com> @@ -42733,7 +42795,7 @@ module.exports = function (chai, util) { chai.Should = loadShould; }; -},{}],136:[function(require,module,exports){ +},{}],140:[function(require,module,exports){ /*! * Chai - addChainingMethod utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -42887,7 +42949,7 @@ module.exports = function addChainableMethod(ctx, name, method, chainingBehavior }); }; -},{"../../chai":129,"./addLengthGuard":137,"./flag":142,"./proxify":158,"./transferFlags":160}],137:[function(require,module,exports){ +},{"../../chai":133,"./addLengthGuard":141,"./flag":146,"./proxify":162,"./transferFlags":164}],141:[function(require,module,exports){ var fnLengthDesc = Object.getOwnPropertyDescriptor(function () {}, 'length'); /*! @@ -42949,7 +43011,7 @@ module.exports = function addLengthGuard (fn, assertionName, isChainable) { return fn; }; -},{}],138:[function(require,module,exports){ +},{}],142:[function(require,module,exports){ /*! * Chai - addMethod utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -43019,7 +43081,7 @@ module.exports = function addMethod(ctx, name, method) { ctx[name] = proxify(methodWrapper, name); }; -},{"../../chai":129,"./addLengthGuard":137,"./flag":142,"./proxify":158,"./transferFlags":160}],139:[function(require,module,exports){ +},{"../../chai":133,"./addLengthGuard":141,"./flag":146,"./proxify":162,"./transferFlags":164}],143:[function(require,module,exports){ /*! * Chai - addProperty utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -43093,7 +43155,7 @@ module.exports = function addProperty(ctx, name, getter) { }); }; -},{"../../chai":129,"./flag":142,"./isProxyEnabled":153,"./transferFlags":160}],140:[function(require,module,exports){ +},{"../../chai":133,"./flag":146,"./isProxyEnabled":157,"./transferFlags":164}],144:[function(require,module,exports){ /*! * Chai - compareByInspect utility * Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com> @@ -43126,7 +43188,7 @@ module.exports = function compareByInspect(a, b) { return inspect(a) < inspect(b) ? -1 : 1; }; -},{"./inspect":151}],141:[function(require,module,exports){ +},{"./inspect":155}],145:[function(require,module,exports){ /*! * Chai - expectTypes utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -43179,7 +43241,7 @@ module.exports = function expectTypes(obj, types) { } }; -},{"./flag":142,"assertion-error":72,"type-detect":1056}],142:[function(require,module,exports){ +},{"./flag":146,"assertion-error":76,"type-detect":1060}],146:[function(require,module,exports){ /*! * Chai - flag utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -43214,7 +43276,7 @@ module.exports = function flag(obj, key, value) { } }; -},{}],143:[function(require,module,exports){ +},{}],147:[function(require,module,exports){ /*! * Chai - getActual utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -43236,7 +43298,7 @@ module.exports = function getActual(obj, args) { return args.length > 4 ? args[4] : obj._obj; }; -},{}],144:[function(require,module,exports){ +},{}],148:[function(require,module,exports){ /*! * Chai - getEnumerableProperties utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -43264,7 +43326,7 @@ module.exports = function getEnumerableProperties(object) { return result; }; -},{}],145:[function(require,module,exports){ +},{}],149:[function(require,module,exports){ /*! * Chai - message composition utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -43316,7 +43378,7 @@ module.exports = function getMessage(obj, args) { return flagMsg ? flagMsg + ': ' + msg : msg; }; -},{"./flag":142,"./getActual":143,"./objDisplay":154}],146:[function(require,module,exports){ +},{"./flag":146,"./getActual":147,"./objDisplay":158}],150:[function(require,module,exports){ var type = require('type-detect'); var flag = require('./flag'); @@ -43373,7 +43435,7 @@ module.exports = function getOperator(obj, args) { return isObject ? 'deepStrictEqual' : 'strictEqual'; }; -},{"./flag":142,"type-detect":1056}],147:[function(require,module,exports){ +},{"./flag":146,"type-detect":1060}],151:[function(require,module,exports){ /*! * Chai - getOwnEnumerableProperties utility * Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com> @@ -43404,7 +43466,7 @@ module.exports = function getOwnEnumerableProperties(obj) { return Object.keys(obj).concat(getOwnEnumerablePropertySymbols(obj)); }; -},{"./getOwnEnumerablePropertySymbols":148}],148:[function(require,module,exports){ +},{"./getOwnEnumerablePropertySymbols":152}],152:[function(require,module,exports){ /*! * Chai - getOwnEnumerablePropertySymbols utility * Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com> @@ -43433,7 +43495,7 @@ module.exports = function getOwnEnumerablePropertySymbols(obj) { }); }; -},{}],149:[function(require,module,exports){ +},{}],153:[function(require,module,exports){ /*! * Chai - getProperties utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -43471,7 +43533,7 @@ module.exports = function getProperties(object) { return result; }; -},{}],150:[function(require,module,exports){ +},{}],154:[function(require,module,exports){ /*! * chai * Copyright(c) 2011 Jake Luer <jake@alogicalparadox.com> @@ -43650,7 +43712,7 @@ exports.isNaN = require('./isNaN'); */ exports.getOperator = require('./getOperator'); -},{"./addChainableMethod":136,"./addLengthGuard":137,"./addMethod":138,"./addProperty":139,"./compareByInspect":140,"./expectTypes":141,"./flag":142,"./getActual":143,"./getMessage":145,"./getOperator":146,"./getOwnEnumerableProperties":147,"./getOwnEnumerablePropertySymbols":148,"./inspect":151,"./isNaN":152,"./isProxyEnabled":153,"./objDisplay":154,"./overwriteChainableMethod":155,"./overwriteMethod":156,"./overwriteProperty":157,"./proxify":158,"./test":159,"./transferFlags":160,"check-error":161,"deep-eql":226,"get-func-name":286,"pathval":967,"type-detect":1056}],151:[function(require,module,exports){ +},{"./addChainableMethod":140,"./addLengthGuard":141,"./addMethod":142,"./addProperty":143,"./compareByInspect":144,"./expectTypes":145,"./flag":146,"./getActual":147,"./getMessage":149,"./getOperator":150,"./getOwnEnumerableProperties":151,"./getOwnEnumerablePropertySymbols":152,"./inspect":155,"./isNaN":156,"./isProxyEnabled":157,"./objDisplay":158,"./overwriteChainableMethod":159,"./overwriteMethod":160,"./overwriteProperty":161,"./proxify":162,"./test":163,"./transferFlags":164,"check-error":165,"deep-eql":230,"get-func-name":290,"pathval":971,"type-detect":1060}],155:[function(require,module,exports){ // This is (almost) directly from Node.js utils // https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js @@ -44031,7 +44093,7 @@ function objectToString(o) { return Object.prototype.toString.call(o); } -},{"../config":131,"./getEnumerableProperties":144,"./getProperties":149,"get-func-name":286}],152:[function(require,module,exports){ +},{"../config":135,"./getEnumerableProperties":148,"./getProperties":153,"get-func-name":290}],156:[function(require,module,exports){ /*! * Chai - isNaN utility * Copyright(c) 2012-2015 Sakthipriyan Vairamani <thechargingvolcano@gmail.com> @@ -44059,7 +44121,7 @@ function isNaN(value) { // If ECMAScript 6's Number.isNaN is present, prefer that. module.exports = Number.isNaN || isNaN; -},{}],153:[function(require,module,exports){ +},{}],157:[function(require,module,exports){ var config = require('../config'); /*! @@ -44085,7 +44147,7 @@ module.exports = function isProxyEnabled() { typeof Reflect !== 'undefined'; }; -},{"../config":131}],154:[function(require,module,exports){ +},{"../config":135}],158:[function(require,module,exports){ /*! * Chai - flag utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -44137,7 +44199,7 @@ module.exports = function objDisplay(obj) { } }; -},{"../config":131,"./inspect":151}],155:[function(require,module,exports){ +},{"../config":135,"./inspect":155}],159:[function(require,module,exports){ /*! * Chai - overwriteChainableMethod utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -44208,7 +44270,7 @@ module.exports = function overwriteChainableMethod(ctx, name, method, chainingBe }; }; -},{"../../chai":129,"./transferFlags":160}],156:[function(require,module,exports){ +},{"../../chai":133,"./transferFlags":164}],160:[function(require,module,exports){ /*! * Chai - overwriteMethod utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -44302,7 +44364,7 @@ module.exports = function overwriteMethod(ctx, name, method) { ctx[name] = proxify(overwritingMethodWrapper, name); }; -},{"../../chai":129,"./addLengthGuard":137,"./flag":142,"./proxify":158,"./transferFlags":160}],157:[function(require,module,exports){ +},{"../../chai":133,"./addLengthGuard":141,"./flag":146,"./proxify":162,"./transferFlags":164}],161:[function(require,module,exports){ /*! * Chai - overwriteProperty utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -44396,7 +44458,7 @@ module.exports = function overwriteProperty(ctx, name, getter) { }); }; -},{"../../chai":129,"./flag":142,"./isProxyEnabled":153,"./transferFlags":160}],158:[function(require,module,exports){ +},{"../../chai":133,"./flag":146,"./isProxyEnabled":157,"./transferFlags":164}],162:[function(require,module,exports){ var config = require('../config'); var flag = require('./flag'); var getProperties = require('./getProperties'); @@ -44545,7 +44607,7 @@ function stringDistanceCapped(strA, strB, cap) { return memo[strA.length][strB.length]; } -},{"../config":131,"./flag":142,"./getProperties":149,"./isProxyEnabled":153}],159:[function(require,module,exports){ +},{"../config":135,"./flag":146,"./getProperties":153,"./isProxyEnabled":157}],163:[function(require,module,exports){ /*! * Chai - test utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -44575,7 +44637,7 @@ module.exports = function test(obj, args) { return negate ? !expr : expr; }; -},{"./flag":142}],160:[function(require,module,exports){ +},{"./flag":146}],164:[function(require,module,exports){ /*! * Chai - transferFlags utility * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com> @@ -44622,7 +44684,7 @@ module.exports = function transferFlags(assertion, object, includeAll) { } }; -},{}],161:[function(require,module,exports){ +},{}],165:[function(require,module,exports){ 'use strict'; /* ! @@ -44796,7 +44858,7 @@ module.exports = { getConstructorName: getConstructorName, }; -},{}],162:[function(require,module,exports){ +},{}],166:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer var Transform = require('stream').Transform var StringDecoder = require('string_decoder').StringDecoder @@ -44897,7 +44959,7 @@ CipherBase.prototype._toString = function (value, enc, fin) { module.exports = CipherBase -},{"inherits":328,"safe-buffer":993,"stream":1004,"string_decoder":1038}],163:[function(require,module,exports){ +},{"inherits":332,"safe-buffer":997,"stream":1008,"string_decoder":1042}],167:[function(require,module,exports){ (function (Buffer){(function (){ var elliptic = require('elliptic') var BN = require('bn.js') @@ -45025,9 +45087,9 @@ function formatReturnValue (bn, enc, len) { } }).call(this)}).call(this,require("buffer").Buffer) -},{"bn.js":164,"buffer":124,"elliptic":244}],164:[function(require,module,exports){ -arguments[4][66][0].apply(exports,arguments) -},{"buffer":77,"dup":66}],165:[function(require,module,exports){ +},{"bn.js":168,"buffer":128,"elliptic":248}],168:[function(require,module,exports){ +arguments[4][70][0].apply(exports,arguments) +},{"buffer":81,"dup":70}],169:[function(require,module,exports){ 'use strict' var inherits = require('inherits') var MD5 = require('md5.js') @@ -45059,14 +45121,14 @@ module.exports = function createHash (alg) { return new Hash(sha(alg)) } -},{"cipher-base":162,"inherits":328,"md5.js":917,"ripemd160":992,"sha.js":997}],166:[function(require,module,exports){ +},{"cipher-base":166,"inherits":332,"md5.js":921,"ripemd160":996,"sha.js":1001}],170:[function(require,module,exports){ var MD5 = require('md5.js') module.exports = function (buffer) { return new MD5().update(buffer).digest() } -},{"md5.js":917}],167:[function(require,module,exports){ +},{"md5.js":921}],171:[function(require,module,exports){ 'use strict' var inherits = require('inherits') var Legacy = require('./legacy') @@ -45130,7 +45192,7 @@ module.exports = function createHmac (alg, key) { return new Hmac(alg, key) } -},{"./legacy":168,"cipher-base":162,"create-hash/md5":166,"inherits":328,"ripemd160":992,"safe-buffer":993,"sha.js":997}],168:[function(require,module,exports){ +},{"./legacy":172,"cipher-base":166,"create-hash/md5":170,"inherits":332,"ripemd160":996,"safe-buffer":997,"sha.js":1001}],172:[function(require,module,exports){ 'use strict' var inherits = require('inherits') var Buffer = require('safe-buffer').Buffer @@ -45178,7 +45240,7 @@ Hmac.prototype._final = function () { } module.exports = Hmac -},{"cipher-base":162,"inherits":328,"safe-buffer":993}],169:[function(require,module,exports){ +},{"cipher-base":166,"inherits":332,"safe-buffer":997}],173:[function(require,module,exports){ 'use strict' exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes') @@ -45277,7 +45339,7 @@ exports.constants = { 'POINT_CONVERSION_HYBRID': 6 } -},{"browserify-cipher":95,"browserify-sign":102,"browserify-sign/algos":99,"create-ecdh":163,"create-hash":165,"create-hmac":167,"diffie-hellman":233,"pbkdf2":968,"public-encrypt":977,"randombytes":990,"randomfill":991}],170:[function(require,module,exports){ +},{"browserify-cipher":99,"browserify-sign":106,"browserify-sign/algos":103,"create-ecdh":167,"create-hash":169,"create-hmac":171,"diffie-hellman":237,"pbkdf2":972,"public-encrypt":981,"randombytes":994,"randomfill":995}],174:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSRule: require("./CSSRule").CSSRule, @@ -45318,7 +45380,7 @@ Object.defineProperty(CSSOM.CSSDocumentRule.prototype, "cssText", { exports.CSSDocumentRule = CSSOM.CSSDocumentRule; ///CommonJS -},{"./CSSRule":177,"./MatcherList":184}],171:[function(require,module,exports){ +},{"./CSSRule":181,"./MatcherList":188}],175:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSStyleDeclaration: require("./CSSStyleDeclaration").CSSStyleDeclaration, @@ -45356,7 +45418,7 @@ Object.defineProperty(CSSOM.CSSFontFaceRule.prototype, "cssText", { exports.CSSFontFaceRule = CSSOM.CSSFontFaceRule; ///CommonJS -},{"./CSSRule":177,"./CSSStyleDeclaration":178}],172:[function(require,module,exports){ +},{"./CSSRule":181,"./CSSStyleDeclaration":182}],176:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSRule: require("./CSSRule").CSSRule @@ -45395,7 +45457,7 @@ Object.defineProperty(CSSOM.CSSHostRule.prototype, "cssText", { exports.CSSHostRule = CSSOM.CSSHostRule; ///CommonJS -},{"./CSSRule":177}],173:[function(require,module,exports){ +},{"./CSSRule":181}],177:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSRule: require("./CSSRule").CSSRule, @@ -45529,7 +45591,7 @@ Object.defineProperty(CSSOM.CSSImportRule.prototype, "cssText", { exports.CSSImportRule = CSSOM.CSSImportRule; ///CommonJS -},{"./CSSRule":177,"./CSSStyleSheet":180,"./MediaList":185}],174:[function(require,module,exports){ +},{"./CSSRule":181,"./CSSStyleSheet":184,"./MediaList":189}],178:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSRule: require("./CSSRule").CSSRule, @@ -45568,7 +45630,7 @@ Object.defineProperty(CSSOM.CSSKeyframeRule.prototype, "cssText", { exports.CSSKeyframeRule = CSSOM.CSSKeyframeRule; ///CommonJS -},{"./CSSRule":177,"./CSSStyleDeclaration":178}],175:[function(require,module,exports){ +},{"./CSSRule":181,"./CSSStyleDeclaration":182}],179:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSRule: require("./CSSRule").CSSRule @@ -45609,7 +45671,7 @@ Object.defineProperty(CSSOM.CSSKeyframesRule.prototype, "cssText", { exports.CSSKeyframesRule = CSSOM.CSSKeyframesRule; ///CommonJS -},{"./CSSRule":177}],176:[function(require,module,exports){ +},{"./CSSRule":181}],180:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSRule: require("./CSSRule").CSSRule, @@ -45652,7 +45714,7 @@ Object.defineProperty(CSSOM.CSSMediaRule.prototype, "cssText", { exports.CSSMediaRule = CSSOM.CSSMediaRule; ///CommonJS -},{"./CSSRule":177,"./MediaList":185}],177:[function(require,module,exports){ +},{"./CSSRule":181,"./MediaList":189}],181:[function(require,module,exports){ //.CommonJS var CSSOM = {}; ///CommonJS @@ -45697,7 +45759,7 @@ CSSOM.CSSRule.prototype = { exports.CSSRule = CSSOM.CSSRule; ///CommonJS -},{}],178:[function(require,module,exports){ +},{}],182:[function(require,module,exports){ //.CommonJS var CSSOM = {}; ///CommonJS @@ -45847,7 +45909,7 @@ exports.CSSStyleDeclaration = CSSOM.CSSStyleDeclaration; CSSOM.parse = require('./parse').parse; // Cannot be included sooner due to the mutual dependency between parse.js and CSSStyleDeclaration.js ///CommonJS -},{"./parse":189}],179:[function(require,module,exports){ +},{"./parse":193}],183:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSStyleDeclaration: require("./CSSStyleDeclaration").CSSStyleDeclaration, @@ -46039,7 +46101,7 @@ CSSOM.CSSStyleRule.parse = function(ruleText) { exports.CSSStyleRule = CSSOM.CSSStyleRule; ///CommonJS -},{"./CSSRule":177,"./CSSStyleDeclaration":178}],180:[function(require,module,exports){ +},{"./CSSRule":181,"./CSSStyleDeclaration":182}],184:[function(require,module,exports){ //.CommonJS var CSSOM = { StyleSheet: require("./StyleSheet").StyleSheet, @@ -46129,7 +46191,7 @@ exports.CSSStyleSheet = CSSOM.CSSStyleSheet; CSSOM.parse = require('./parse').parse; // Cannot be included sooner due to the mutual dependency between parse.js and CSSStyleSheet.js ///CommonJS -},{"./CSSStyleRule":179,"./StyleSheet":186,"./parse":189}],181:[function(require,module,exports){ +},{"./CSSStyleRule":183,"./StyleSheet":190,"./parse":193}],185:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSRule: require("./CSSRule").CSSRule, @@ -46167,7 +46229,7 @@ Object.defineProperty(CSSOM.CSSSupportsRule.prototype, "cssText", { exports.CSSSupportsRule = CSSOM.CSSSupportsRule; ///CommonJS -},{"./CSSRule":177}],182:[function(require,module,exports){ +},{"./CSSRule":181}],186:[function(require,module,exports){ //.CommonJS var CSSOM = {}; ///CommonJS @@ -46212,7 +46274,7 @@ CSSOM.CSSValue.prototype = { exports.CSSValue = CSSOM.CSSValue; ///CommonJS -},{}],183:[function(require,module,exports){ +},{}],187:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSValue: require('./CSSValue').CSSValue @@ -46558,7 +46620,7 @@ CSSOM.CSSValueExpression.prototype._findMatchedIdx = function(token, idx, sep) { exports.CSSValueExpression = CSSOM.CSSValueExpression; ///CommonJS -},{"./CSSValue":182}],184:[function(require,module,exports){ +},{"./CSSValue":186}],188:[function(require,module,exports){ //.CommonJS var CSSOM = {}; ///CommonJS @@ -46622,7 +46684,7 @@ CSSOM.MatcherList.prototype = { exports.MatcherList = CSSOM.MatcherList; ///CommonJS -},{}],185:[function(require,module,exports){ +},{}],189:[function(require,module,exports){ //.CommonJS var CSSOM = {}; ///CommonJS @@ -46685,7 +46747,7 @@ CSSOM.MediaList.prototype = { exports.MediaList = CSSOM.MediaList; ///CommonJS -},{}],186:[function(require,module,exports){ +},{}],190:[function(require,module,exports){ //.CommonJS var CSSOM = {}; ///CommonJS @@ -46704,7 +46766,7 @@ CSSOM.StyleSheet = function StyleSheet() { exports.StyleSheet = CSSOM.StyleSheet; ///CommonJS -},{}],187:[function(require,module,exports){ +},{}],191:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSStyleSheet: require("./CSSStyleSheet").CSSStyleSheet, @@ -46777,7 +46839,7 @@ CSSOM.clone = function clone(stylesheet) { exports.clone = CSSOM.clone; ///CommonJS -},{"./CSSKeyframeRule":174,"./CSSKeyframesRule":175,"./CSSMediaRule":176,"./CSSStyleDeclaration":178,"./CSSStyleRule":179,"./CSSStyleSheet":180,"./CSSSupportsRule":181}],188:[function(require,module,exports){ +},{"./CSSKeyframeRule":178,"./CSSKeyframesRule":179,"./CSSMediaRule":180,"./CSSStyleDeclaration":182,"./CSSStyleRule":183,"./CSSStyleSheet":184,"./CSSSupportsRule":185}],192:[function(require,module,exports){ 'use strict'; exports.CSSStyleDeclaration = require('./CSSStyleDeclaration').CSSStyleDeclaration; @@ -46800,7 +46862,7 @@ exports.CSSValueExpression = require('./CSSValueExpression').CSSValueExpression; exports.parse = require('./parse').parse; exports.clone = require('./clone').clone; -},{"./CSSDocumentRule":170,"./CSSFontFaceRule":171,"./CSSHostRule":172,"./CSSImportRule":173,"./CSSKeyframeRule":174,"./CSSKeyframesRule":175,"./CSSMediaRule":176,"./CSSRule":177,"./CSSStyleDeclaration":178,"./CSSStyleRule":179,"./CSSStyleSheet":180,"./CSSSupportsRule":181,"./CSSValue":182,"./CSSValueExpression":183,"./MatcherList":184,"./MediaList":185,"./StyleSheet":186,"./clone":187,"./parse":189}],189:[function(require,module,exports){ +},{"./CSSDocumentRule":174,"./CSSFontFaceRule":175,"./CSSHostRule":176,"./CSSImportRule":177,"./CSSKeyframeRule":178,"./CSSKeyframesRule":179,"./CSSMediaRule":180,"./CSSRule":181,"./CSSStyleDeclaration":182,"./CSSStyleRule":183,"./CSSStyleSheet":184,"./CSSSupportsRule":185,"./CSSValue":186,"./CSSValueExpression":187,"./MatcherList":188,"./MediaList":189,"./StyleSheet":190,"./clone":191,"./parse":193}],193:[function(require,module,exports){ //.CommonJS var CSSOM = {}; ///CommonJS @@ -47265,7 +47327,7 @@ CSSOM.CSSValueExpression = require('./CSSValueExpression').CSSValueExpression; CSSOM.CSSDocumentRule = require('./CSSDocumentRule').CSSDocumentRule; ///CommonJS -},{"./CSSDocumentRule":170,"./CSSFontFaceRule":171,"./CSSHostRule":172,"./CSSImportRule":173,"./CSSKeyframeRule":174,"./CSSKeyframesRule":175,"./CSSMediaRule":176,"./CSSStyleDeclaration":178,"./CSSStyleRule":179,"./CSSStyleSheet":180,"./CSSSupportsRule":181,"./CSSValueExpression":183}],190:[function(require,module,exports){ +},{"./CSSDocumentRule":174,"./CSSFontFaceRule":175,"./CSSHostRule":176,"./CSSImportRule":177,"./CSSKeyframeRule":178,"./CSSKeyframesRule":179,"./CSSMediaRule":180,"./CSSStyleDeclaration":182,"./CSSStyleRule":183,"./CSSStyleSheet":184,"./CSSSupportsRule":185,"./CSSValueExpression":187}],194:[function(require,module,exports){ /********************************************************************* * This is a fork from the CSS Style Declaration part of * https://github.com/NV/CSSOM @@ -47527,7 +47589,7 @@ allExtraProperties.forEach(function(property) { exports.CSSStyleDeclaration = CSSStyleDeclaration; -},{"./allExtraProperties":191,"./allProperties":192,"./implementedProperties":195,"./parsers":197,"./properties":198,"./utils/getBasicPropertyDescriptor":200,"cssom":219}],191:[function(require,module,exports){ +},{"./allExtraProperties":195,"./allProperties":196,"./implementedProperties":199,"./parsers":201,"./properties":202,"./utils/getBasicPropertyDescriptor":204,"cssom":223}],195:[function(require,module,exports){ 'use strict'; /** @@ -47596,7 +47658,7 @@ module.exports = new Set( ].concat(allWebkitProperties) ); -},{"./allWebkitProperties":193}],192:[function(require,module,exports){ +},{"./allWebkitProperties":197}],196:[function(require,module,exports){ 'use strict'; // autogenerated - 4/29/2020 @@ -48060,7 +48122,7 @@ module.exports = new Set([ 'z-index', ]); -},{}],193:[function(require,module,exports){ +},{}],197:[function(require,module,exports){ 'use strict'; /** @@ -48256,7 +48318,7 @@ module.exports = [ 'zoom', ].map(prop => 'webkit-' + prop); -},{}],194:[function(require,module,exports){ +},{}],198:[function(require,module,exports){ 'use strict'; module.exports.POSITION_AT_SHORTHAND = { @@ -48264,7 +48326,7 @@ module.exports.POSITION_AT_SHORTHAND = { second: 1, }; -},{}],195:[function(require,module,exports){ +},{}],199:[function(require,module,exports){ 'use strict'; // autogenerated - 4/29/2020 @@ -48356,7 +48418,7 @@ implementedProperties.add("webkit-text-stroke-color"); implementedProperties.add("width"); module.exports = implementedProperties; -},{}],196:[function(require,module,exports){ +},{}],200:[function(require,module,exports){ module.exports=[ "aliceblue", "antiquewhite", @@ -48510,7 +48572,7 @@ module.exports=[ "currentcolor" ] -},{}],197:[function(require,module,exports){ +},{}],201:[function(require,module,exports){ /********************************************************************* * These are commonly used parsers for CSS Values they take a string * * to parse and return a string after it's been converted, if needed * @@ -49234,7 +49296,7 @@ exports.camelToDashed = function(camel_case) { return dashed; }; -},{"./named_colors.json":196,"./utils/colorSpace":199}],198:[function(require,module,exports){ +},{"./named_colors.json":200,"./utils/colorSpace":203}],202:[function(require,module,exports){ 'use strict'; // autogenerated - 4/29/2020 @@ -51069,7 +51131,7 @@ module.exports = function (prototype) { }); }; -},{"./constants.js":194,"./parsers.js":197}],199:[function(require,module,exports){ +},{"./constants.js":198,"./parsers.js":201}],203:[function(require,module,exports){ 'use strict'; const hueToRgb = (t1, t2, hue) => { @@ -51092,7 +51154,7 @@ exports.hslToRgb = (hue, sat, light) => { return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)]; }; -},{}],200:[function(require,module,exports){ +},{}],204:[function(require,module,exports){ 'use strict'; module.exports = function getBasicPropertyDescriptor(name) { @@ -51108,15 +51170,15 @@ module.exports = function getBasicPropertyDescriptor(name) { }; }; -},{}],201:[function(require,module,exports){ -arguments[4][170][0].apply(exports,arguments) -},{"./CSSRule":208,"./MatcherList":215,"dup":170}],202:[function(require,module,exports){ -arguments[4][171][0].apply(exports,arguments) -},{"./CSSRule":208,"./CSSStyleDeclaration":209,"dup":171}],203:[function(require,module,exports){ -arguments[4][172][0].apply(exports,arguments) -},{"./CSSRule":208,"dup":172}],204:[function(require,module,exports){ -arguments[4][173][0].apply(exports,arguments) -},{"./CSSRule":208,"./CSSStyleSheet":211,"./MediaList":216,"dup":173}],205:[function(require,module,exports){ +},{}],205:[function(require,module,exports){ +arguments[4][174][0].apply(exports,arguments) +},{"./CSSRule":212,"./MatcherList":219,"dup":174}],206:[function(require,module,exports){ +arguments[4][175][0].apply(exports,arguments) +},{"./CSSRule":212,"./CSSStyleDeclaration":213,"dup":175}],207:[function(require,module,exports){ +arguments[4][176][0].apply(exports,arguments) +},{"./CSSRule":212,"dup":176}],208:[function(require,module,exports){ +arguments[4][177][0].apply(exports,arguments) +},{"./CSSRule":212,"./CSSStyleSheet":215,"./MediaList":220,"dup":177}],209:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSRule: require("./CSSRule").CSSRule, @@ -51155,7 +51217,7 @@ Object.defineProperty(CSSOM.CSSKeyframeRule.prototype, "cssText", { exports.CSSKeyframeRule = CSSOM.CSSKeyframeRule; ///CommonJS -},{"./CSSRule":208,"./CSSStyleDeclaration":209}],206:[function(require,module,exports){ +},{"./CSSRule":212,"./CSSStyleDeclaration":213}],210:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSRule: require("./CSSRule").CSSRule @@ -51196,29 +51258,29 @@ Object.defineProperty(CSSOM.CSSKeyframesRule.prototype, "cssText", { exports.CSSKeyframesRule = CSSOM.CSSKeyframesRule; ///CommonJS -},{"./CSSRule":208}],207:[function(require,module,exports){ -arguments[4][176][0].apply(exports,arguments) -},{"./CSSRule":208,"./MediaList":216,"dup":176}],208:[function(require,module,exports){ -arguments[4][177][0].apply(exports,arguments) -},{"dup":177}],209:[function(require,module,exports){ -arguments[4][178][0].apply(exports,arguments) -},{"./parse":220,"dup":178}],210:[function(require,module,exports){ -arguments[4][179][0].apply(exports,arguments) -},{"./CSSRule":208,"./CSSStyleDeclaration":209,"dup":179}],211:[function(require,module,exports){ +},{"./CSSRule":212}],211:[function(require,module,exports){ arguments[4][180][0].apply(exports,arguments) -},{"./CSSStyleRule":210,"./StyleSheet":217,"./parse":220,"dup":180}],212:[function(require,module,exports){ +},{"./CSSRule":212,"./MediaList":220,"dup":180}],212:[function(require,module,exports){ arguments[4][181][0].apply(exports,arguments) -},{"./CSSRule":208,"dup":181}],213:[function(require,module,exports){ +},{"dup":181}],213:[function(require,module,exports){ arguments[4][182][0].apply(exports,arguments) -},{"dup":182}],214:[function(require,module,exports){ +},{"./parse":224,"dup":182}],214:[function(require,module,exports){ arguments[4][183][0].apply(exports,arguments) -},{"./CSSValue":213,"dup":183}],215:[function(require,module,exports){ +},{"./CSSRule":212,"./CSSStyleDeclaration":213,"dup":183}],215:[function(require,module,exports){ arguments[4][184][0].apply(exports,arguments) -},{"dup":184}],216:[function(require,module,exports){ +},{"./CSSStyleRule":214,"./StyleSheet":221,"./parse":224,"dup":184}],216:[function(require,module,exports){ arguments[4][185][0].apply(exports,arguments) -},{"dup":185}],217:[function(require,module,exports){ +},{"./CSSRule":212,"dup":185}],217:[function(require,module,exports){ arguments[4][186][0].apply(exports,arguments) },{"dup":186}],218:[function(require,module,exports){ +arguments[4][187][0].apply(exports,arguments) +},{"./CSSValue":217,"dup":187}],219:[function(require,module,exports){ +arguments[4][188][0].apply(exports,arguments) +},{"dup":188}],220:[function(require,module,exports){ +arguments[4][189][0].apply(exports,arguments) +},{"dup":189}],221:[function(require,module,exports){ +arguments[4][190][0].apply(exports,arguments) +},{"dup":190}],222:[function(require,module,exports){ //.CommonJS var CSSOM = { CSSStyleSheet: require("./CSSStyleSheet").CSSStyleSheet, @@ -51302,9 +51364,9 @@ CSSOM.clone = function clone(stylesheet) { exports.clone = CSSOM.clone; ///CommonJS -},{"./CSSKeyframeRule":205,"./CSSKeyframesRule":206,"./CSSMediaRule":207,"./CSSStyleDeclaration":209,"./CSSStyleRule":210,"./CSSStyleSheet":211,"./CSSSupportsRule":212}],219:[function(require,module,exports){ -arguments[4][188][0].apply(exports,arguments) -},{"./CSSDocumentRule":201,"./CSSFontFaceRule":202,"./CSSHostRule":203,"./CSSImportRule":204,"./CSSKeyframeRule":205,"./CSSKeyframesRule":206,"./CSSMediaRule":207,"./CSSRule":208,"./CSSStyleDeclaration":209,"./CSSStyleRule":210,"./CSSStyleSheet":211,"./CSSSupportsRule":212,"./CSSValue":213,"./CSSValueExpression":214,"./MatcherList":215,"./MediaList":216,"./StyleSheet":217,"./clone":218,"./parse":220,"dup":188}],220:[function(require,module,exports){ +},{"./CSSKeyframeRule":209,"./CSSKeyframesRule":210,"./CSSMediaRule":211,"./CSSStyleDeclaration":213,"./CSSStyleRule":214,"./CSSStyleSheet":215,"./CSSSupportsRule":216}],223:[function(require,module,exports){ +arguments[4][192][0].apply(exports,arguments) +},{"./CSSDocumentRule":205,"./CSSFontFaceRule":206,"./CSSHostRule":207,"./CSSImportRule":208,"./CSSKeyframeRule":209,"./CSSKeyframesRule":210,"./CSSMediaRule":211,"./CSSRule":212,"./CSSStyleDeclaration":213,"./CSSStyleRule":214,"./CSSStyleSheet":215,"./CSSSupportsRule":216,"./CSSValue":217,"./CSSValueExpression":218,"./MatcherList":219,"./MediaList":220,"./StyleSheet":221,"./clone":222,"./parse":224,"dup":192}],224:[function(require,module,exports){ //.CommonJS var CSSOM = {}; ///CommonJS @@ -51770,7 +51832,7 @@ CSSOM.CSSValueExpression = require('./CSSValueExpression').CSSValueExpression; CSSOM.CSSDocumentRule = require('./CSSDocumentRule').CSSDocumentRule; ///CommonJS -},{"./CSSDocumentRule":201,"./CSSFontFaceRule":202,"./CSSHostRule":203,"./CSSImportRule":204,"./CSSKeyframeRule":205,"./CSSKeyframesRule":206,"./CSSMediaRule":207,"./CSSStyleDeclaration":209,"./CSSStyleRule":210,"./CSSStyleSheet":211,"./CSSSupportsRule":212,"./CSSValueExpression":214}],221:[function(require,module,exports){ +},{"./CSSDocumentRule":205,"./CSSFontFaceRule":206,"./CSSHostRule":207,"./CSSImportRule":208,"./CSSKeyframeRule":209,"./CSSKeyframesRule":210,"./CSSMediaRule":211,"./CSSStyleDeclaration":213,"./CSSStyleRule":214,"./CSSStyleSheet":215,"./CSSSupportsRule":216,"./CSSValueExpression":218}],225:[function(require,module,exports){ "use strict"; const MIMEType = require("whatwg-mimetype"); const { parseURL, serializeURL } = require("whatwg-url"); @@ -51846,7 +51908,7 @@ module.exports.fromURLRecord = urlRecord => { }; }; -},{"./utils.js":222,"whatwg-mimetype":1098,"whatwg-url":1113}],222:[function(require,module,exports){ +},{"./utils.js":226,"whatwg-mimetype":1102,"whatwg-url":1117}],226:[function(require,module,exports){ (function (Buffer){(function (){ "use strict"; const { percentDecode } = require("whatwg-url"); @@ -51873,7 +51935,7 @@ exports.forgivingBase64Decode = data => { }; }).call(this)}).call(this,require("buffer").Buffer) -},{"abab":44,"buffer":124,"whatwg-url":1113}],223:[function(require,module,exports){ +},{"abab":48,"buffer":128,"whatwg-url":1117}],227:[function(require,module,exports){ (function (process){(function (){ /* eslint-env browser */ @@ -52146,7 +52208,7 @@ formatters.j = function (v) { }; }).call(this)}).call(this,require('_process')) -},{"./common":224,"_process":974}],224:[function(require,module,exports){ +},{"./common":228,"_process":978}],228:[function(require,module,exports){ /** * This is the common logic for both the Node.js and web browser @@ -52422,7 +52484,7 @@ function setup(env) { module.exports = setup; -},{"ms":922}],225:[function(require,module,exports){ +},{"ms":926}],229:[function(require,module,exports){ ;(function (globalScope) { 'use strict'; @@ -57358,7 +57420,7 @@ module.exports = setup; } })(this); -},{}],226:[function(require,module,exports){ +},{}],230:[function(require,module,exports){ 'use strict'; /* globals Symbol: false, Uint8Array: false, WeakMap: false */ /*! @@ -57815,7 +57877,7 @@ function isPrimitive(value) { return value === null || typeof value !== 'object'; } -},{"type-detect":1056}],227:[function(require,module,exports){ +},{"type-detect":1060}],231:[function(require,module,exports){ 'use strict'; exports.utils = require('./des/utils'); @@ -57824,7 +57886,7 @@ exports.DES = require('./des/des'); exports.CBC = require('./des/cbc'); exports.EDE = require('./des/ede'); -},{"./des/cbc":228,"./des/cipher":229,"./des/des":230,"./des/ede":231,"./des/utils":232}],228:[function(require,module,exports){ +},{"./des/cbc":232,"./des/cipher":233,"./des/des":234,"./des/ede":235,"./des/utils":236}],232:[function(require,module,exports){ 'use strict'; var assert = require('minimalistic-assert'); @@ -57891,7 +57953,7 @@ proto._update = function _update(inp, inOff, out, outOff) { } }; -},{"inherits":328,"minimalistic-assert":920}],229:[function(require,module,exports){ +},{"inherits":332,"minimalistic-assert":924}],233:[function(require,module,exports){ 'use strict'; var assert = require('minimalistic-assert'); @@ -58034,7 +58096,7 @@ Cipher.prototype._finalDecrypt = function _finalDecrypt() { return this._unpad(out); }; -},{"minimalistic-assert":920}],230:[function(require,module,exports){ +},{"minimalistic-assert":924}],234:[function(require,module,exports){ 'use strict'; var assert = require('minimalistic-assert'); @@ -58178,7 +58240,7 @@ DES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) { utils.rip(l, r, out, off); }; -},{"./cipher":229,"./utils":232,"inherits":328,"minimalistic-assert":920}],231:[function(require,module,exports){ +},{"./cipher":233,"./utils":236,"inherits":332,"minimalistic-assert":924}],235:[function(require,module,exports){ 'use strict'; var assert = require('minimalistic-assert'); @@ -58234,7 +58296,7 @@ EDE.prototype._update = function _update(inp, inOff, out, outOff) { EDE.prototype._pad = DES.prototype._pad; EDE.prototype._unpad = DES.prototype._unpad; -},{"./cipher":229,"./des":230,"inherits":328,"minimalistic-assert":920}],232:[function(require,module,exports){ +},{"./cipher":233,"./des":234,"inherits":332,"minimalistic-assert":924}],236:[function(require,module,exports){ 'use strict'; exports.readUInt32BE = function readUInt32BE(bytes, off) { @@ -58492,7 +58554,7 @@ exports.padSplit = function padSplit(num, size, group) { return out.join(' '); }; -},{}],233:[function(require,module,exports){ +},{}],237:[function(require,module,exports){ (function (Buffer){(function (){ var generatePrime = require('./lib/generatePrime') var primes = require('./lib/primes.json') @@ -58538,7 +58600,7 @@ exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffi exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman }).call(this)}).call(this,require("buffer").Buffer) -},{"./lib/dh":234,"./lib/generatePrime":235,"./lib/primes.json":236,"buffer":124}],234:[function(require,module,exports){ +},{"./lib/dh":238,"./lib/generatePrime":239,"./lib/primes.json":240,"buffer":128}],238:[function(require,module,exports){ (function (Buffer){(function (){ var BN = require('bn.js'); var MillerRabin = require('miller-rabin'); @@ -58706,7 +58768,7 @@ function formatReturnValue(bn, enc) { } }).call(this)}).call(this,require("buffer").Buffer) -},{"./generatePrime":235,"bn.js":237,"buffer":124,"miller-rabin":918,"randombytes":990}],235:[function(require,module,exports){ +},{"./generatePrime":239,"bn.js":241,"buffer":128,"miller-rabin":922,"randombytes":994}],239:[function(require,module,exports){ var randomBytes = require('randombytes'); module.exports = findPrime; findPrime.simpleSieve = simpleSieve; @@ -58813,7 +58875,7 @@ function findPrime(bits, gen) { } -},{"bn.js":237,"miller-rabin":918,"randombytes":990}],236:[function(require,module,exports){ +},{"bn.js":241,"miller-rabin":922,"randombytes":994}],240:[function(require,module,exports){ module.exports={ "modp1": { "gen": "02", @@ -58848,9 +58910,9 @@ module.exports={ "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff" } } -},{}],237:[function(require,module,exports){ -arguments[4][66][0].apply(exports,arguments) -},{"buffer":77,"dup":66}],238:[function(require,module,exports){ +},{}],241:[function(require,module,exports){ +arguments[4][70][0].apply(exports,arguments) +},{"buffer":81,"dup":70}],242:[function(require,module,exports){ "use strict"; const legacyErrorCodes = require("./legacy-error-codes.json"); const idlUtils = require("./utils.js"); @@ -58874,7 +58936,7 @@ exports.init = impl => { } }; -},{"./legacy-error-codes.json":240,"./utils.js":241}],239:[function(require,module,exports){ +},{"./legacy-error-codes.json":244,"./utils.js":245}],243:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -59081,7 +59143,7 @@ module.exports = iface; const Impl = require("./DOMException-impl.js"); -},{"./DOMException-impl.js":238,"./utils.js":241,"webidl-conversions":242}],240:[function(require,module,exports){ +},{"./DOMException-impl.js":242,"./utils.js":245,"webidl-conversions":246}],244:[function(require,module,exports){ module.exports={ "IndexSizeError": 1, "DOMStringSizeError": 2, @@ -59110,7 +59172,7 @@ module.exports={ "DataCloneError": 25 } -},{}],241:[function(require,module,exports){ +},{}],245:[function(require,module,exports){ "use strict"; // Returns "Type(value) is Object" in ES terminology. @@ -59227,7 +59289,7 @@ module.exports = exports = { namedDelete }; -},{}],242:[function(require,module,exports){ +},{}],246:[function(require,module,exports){ "use strict"; function _(message, opts) { @@ -59590,7 +59652,7 @@ exports.Function = convertCallbackFunction; exports.VoidFunction = convertCallbackFunction; -},{}],243:[function(require,module,exports){ +},{}],247:[function(require,module,exports){ "use strict"; const DOMException = require("./lib/DOMException.js"); @@ -59607,7 +59669,7 @@ function installOverride(globalObject) { module.exports = {...DOMException, install: installOverride }; -},{"./lib/DOMException.js":239}],244:[function(require,module,exports){ +},{"./lib/DOMException.js":243}],248:[function(require,module,exports){ 'use strict'; var elliptic = exports; @@ -59622,7 +59684,7 @@ elliptic.curves = require('./elliptic/curves'); elliptic.ec = require('./elliptic/ec'); elliptic.eddsa = require('./elliptic/eddsa'); -},{"../package.json":260,"./elliptic/curve":247,"./elliptic/curves":250,"./elliptic/ec":251,"./elliptic/eddsa":254,"./elliptic/utils":258,"brorand":76}],245:[function(require,module,exports){ +},{"../package.json":264,"./elliptic/curve":251,"./elliptic/curves":254,"./elliptic/ec":255,"./elliptic/eddsa":258,"./elliptic/utils":262,"brorand":80}],249:[function(require,module,exports){ 'use strict'; var BN = require('bn.js'); @@ -60005,7 +60067,7 @@ BasePoint.prototype.dblp = function dblp(k) { return r; }; -},{"../utils":258,"bn.js":259}],246:[function(require,module,exports){ +},{"../utils":262,"bn.js":263}],250:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -60442,7 +60504,7 @@ Point.prototype.eqXToP = function eqXToP(x) { Point.prototype.toP = Point.prototype.normalize; Point.prototype.mixedAdd = Point.prototype.add; -},{"../utils":258,"./base":245,"bn.js":259,"inherits":328}],247:[function(require,module,exports){ +},{"../utils":262,"./base":249,"bn.js":263,"inherits":332}],251:[function(require,module,exports){ 'use strict'; var curve = exports; @@ -60452,7 +60514,7 @@ curve.short = require('./short'); curve.mont = require('./mont'); curve.edwards = require('./edwards'); -},{"./base":245,"./edwards":246,"./mont":248,"./short":249}],248:[function(require,module,exports){ +},{"./base":249,"./edwards":250,"./mont":252,"./short":253}],252:[function(require,module,exports){ 'use strict'; var BN = require('bn.js'); @@ -60632,7 +60694,7 @@ Point.prototype.getX = function getX() { return this.x.fromRed(); }; -},{"../utils":258,"./base":245,"bn.js":259,"inherits":328}],249:[function(require,module,exports){ +},{"../utils":262,"./base":249,"bn.js":263,"inherits":332}],253:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -61572,7 +61634,7 @@ JPoint.prototype.isInfinity = function isInfinity() { return this.z.cmpn(0) === 0; }; -},{"../utils":258,"./base":245,"bn.js":259,"inherits":328}],250:[function(require,module,exports){ +},{"../utils":262,"./base":249,"bn.js":263,"inherits":332}],254:[function(require,module,exports){ 'use strict'; var curves = exports; @@ -61780,7 +61842,7 @@ defineCurve('secp256k1', { ], }); -},{"./curve":247,"./precomputed/secp256k1":257,"./utils":258,"hash.js":307}],251:[function(require,module,exports){ +},{"./curve":251,"./precomputed/secp256k1":261,"./utils":262,"hash.js":311}],255:[function(require,module,exports){ 'use strict'; var BN = require('bn.js'); @@ -62025,7 +62087,7 @@ EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) { throw new Error('Unable to find valid recovery factor'); }; -},{"../curves":250,"../utils":258,"./key":252,"./signature":253,"bn.js":259,"brorand":76,"hmac-drbg":319}],252:[function(require,module,exports){ +},{"../curves":254,"../utils":262,"./key":256,"./signature":257,"bn.js":263,"brorand":80,"hmac-drbg":323}],256:[function(require,module,exports){ 'use strict'; var BN = require('bn.js'); @@ -62148,7 +62210,7 @@ KeyPair.prototype.inspect = function inspect() { ' pub: ' + (this.pub && this.pub.inspect()) + ' >'; }; -},{"../utils":258,"bn.js":259}],253:[function(require,module,exports){ +},{"../utils":262,"bn.js":263}],257:[function(require,module,exports){ 'use strict'; var BN = require('bn.js'); @@ -62316,7 +62378,7 @@ Signature.prototype.toDER = function toDER(enc) { return utils.encode(res, enc); }; -},{"../utils":258,"bn.js":259}],254:[function(require,module,exports){ +},{"../utils":262,"bn.js":263}],258:[function(require,module,exports){ 'use strict'; var hash = require('hash.js'); @@ -62436,7 +62498,7 @@ EDDSA.prototype.isPoint = function isPoint(val) { return val instanceof this.pointClass; }; -},{"../curves":250,"../utils":258,"./key":255,"./signature":256,"hash.js":307}],255:[function(require,module,exports){ +},{"../curves":254,"../utils":262,"./key":259,"./signature":260,"hash.js":311}],259:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -62533,7 +62595,7 @@ KeyPair.prototype.getPublic = function getPublic(enc) { module.exports = KeyPair; -},{"../utils":258}],256:[function(require,module,exports){ +},{"../utils":262}],260:[function(require,module,exports){ 'use strict'; var BN = require('bn.js'); @@ -62600,7 +62662,7 @@ Signature.prototype.toHex = function toHex() { module.exports = Signature; -},{"../utils":258,"bn.js":259}],257:[function(require,module,exports){ +},{"../utils":262,"bn.js":263}],261:[function(require,module,exports){ module.exports = { doubles: { step: 4, @@ -63382,7 +63444,7 @@ module.exports = { }, }; -},{}],258:[function(require,module,exports){ +},{}],262:[function(require,module,exports){ 'use strict'; var utils = exports; @@ -63503,9 +63565,9 @@ function intFromLE(bytes) { utils.intFromLE = intFromLE; -},{"bn.js":259,"minimalistic-assert":920,"minimalistic-crypto-utils":921}],259:[function(require,module,exports){ -arguments[4][66][0].apply(exports,arguments) -},{"buffer":77,"dup":66}],260:[function(require,module,exports){ +},{"bn.js":263,"minimalistic-assert":924,"minimalistic-crypto-utils":925}],263:[function(require,module,exports){ +arguments[4][70][0].apply(exports,arguments) +},{"buffer":81,"dup":70}],264:[function(require,module,exports){ module.exports={ "name": "elliptic", "version": "6.5.4", @@ -63563,7 +63625,7 @@ module.exports={ } } -},{}],261:[function(require,module,exports){ +},{}],265:[function(require,module,exports){ 'use strict'; var GetIntrinsic = require('get-intrinsic'); @@ -63580,7 +63642,7 @@ if ($gOPD) { module.exports = $gOPD; -},{"get-intrinsic":287}],262:[function(require,module,exports){ +},{"get-intrinsic":291}],266:[function(require,module,exports){ (function (global){(function (){ /* Copyright (C) 2012-2014 Yusuke Suzuki <utatane.tea@gmail.com> @@ -66231,7 +66293,7 @@ module.exports = $gOPD; /* vim: set sw=4 ts=4 et tw=80 : */ }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./package.json":275,"estraverse":263,"esutils":279,"source-map":274}],263:[function(require,module,exports){ +},{"./package.json":279,"estraverse":267,"esutils":283,"source-map":278}],267:[function(require,module,exports){ /* Copyright (C) 2012-2013 Yusuke Suzuki <utatane.tea@gmail.com> Copyright (C) 2012 Ariya Hidayat <ariya.hidayat@gmail.com> @@ -67034,7 +67096,7 @@ module.exports = $gOPD; }(exports)); /* vim: set sw=4 ts=4 et tw=80 : */ -},{}],264:[function(require,module,exports){ +},{}],268:[function(require,module,exports){ /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors @@ -67157,7 +67219,7 @@ ArraySet.prototype.toArray = function ArraySet_toArray() { exports.ArraySet = ArraySet; -},{"./util":273}],265:[function(require,module,exports){ +},{"./util":277}],269:[function(require,module,exports){ /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors @@ -67299,7 +67361,7 @@ exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { aOutParam.rest = aIndex; }; -},{"./base64":266}],266:[function(require,module,exports){ +},{"./base64":270}],270:[function(require,module,exports){ /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors @@ -67368,7 +67430,7 @@ exports.decode = function (charCode) { return -1; }; -},{}],267:[function(require,module,exports){ +},{}],271:[function(require,module,exports){ /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors @@ -67481,7 +67543,7 @@ exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { return index; }; -},{}],268:[function(require,module,exports){ +},{}],272:[function(require,module,exports){ /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2014 Mozilla Foundation and contributors @@ -67562,7 +67624,7 @@ MappingList.prototype.toArray = function MappingList_toArray() { exports.MappingList = MappingList; -},{"./util":273}],269:[function(require,module,exports){ +},{"./util":277}],273:[function(require,module,exports){ /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors @@ -67678,7 +67740,7 @@ exports.quickSort = function (ary, comparator) { doQuickSort(ary, comparator, 0, ary.length - 1); }; -},{}],270:[function(require,module,exports){ +},{}],274:[function(require,module,exports){ /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors @@ -68825,7 +68887,7 @@ IndexedSourceMapConsumer.prototype._parseMappings = exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; -},{"./array-set":264,"./base64-vlq":265,"./binary-search":267,"./quick-sort":269,"./util":273}],271:[function(require,module,exports){ +},{"./array-set":268,"./base64-vlq":269,"./binary-search":271,"./quick-sort":273,"./util":277}],275:[function(require,module,exports){ /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors @@ -69252,7 +69314,7 @@ SourceMapGenerator.prototype.toString = exports.SourceMapGenerator = SourceMapGenerator; -},{"./array-set":264,"./base64-vlq":265,"./mapping-list":268,"./util":273}],272:[function(require,module,exports){ +},{"./array-set":268,"./base64-vlq":269,"./mapping-list":272,"./util":277}],276:[function(require,module,exports){ /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors @@ -69667,7 +69729,7 @@ SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSou exports.SourceNode = SourceNode; -},{"./source-map-generator":271,"./util":273}],273:[function(require,module,exports){ +},{"./source-map-generator":275,"./util":277}],277:[function(require,module,exports){ /* -*- Mode: js; js-indent-level: 2; -*- */ /* * Copyright 2011 Mozilla Foundation and contributors @@ -70157,7 +70219,7 @@ function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { } exports.computeSourceURL = computeSourceURL; -},{}],274:[function(require,module,exports){ +},{}],278:[function(require,module,exports){ /* * Copyright 2009-2011 Mozilla Foundation and contributors * Licensed under the New BSD license. See LICENSE.txt or: @@ -70167,7 +70229,7 @@ exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGene exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer; exports.SourceNode = require('./lib/source-node').SourceNode; -},{"./lib/source-map-consumer":270,"./lib/source-map-generator":271,"./lib/source-node":272}],275:[function(require,module,exports){ +},{"./lib/source-map-consumer":274,"./lib/source-map-generator":275,"./lib/source-node":276}],279:[function(require,module,exports){ module.exports={ "name": "escodegen", "description": "ECMAScript code generator", @@ -70231,7 +70293,7 @@ module.exports={ } } -},{}],276:[function(require,module,exports){ +},{}],280:[function(require,module,exports){ /* Copyright (C) 2013 Yusuke Suzuki <utatane.tea@gmail.com> @@ -70377,7 +70439,7 @@ module.exports={ }()); /* vim: set sw=4 ts=4 et tw=80 : */ -},{}],277:[function(require,module,exports){ +},{}],281:[function(require,module,exports){ /* Copyright (C) 2013-2014 Yusuke Suzuki <utatane.tea@gmail.com> Copyright (C) 2014 Ivan Nikulin <ifaaan@gmail.com> @@ -70514,7 +70576,7 @@ module.exports={ }()); /* vim: set sw=4 ts=4 et tw=80 : */ -},{}],278:[function(require,module,exports){ +},{}],282:[function(require,module,exports){ /* Copyright (C) 2013 Yusuke Suzuki <utatane.tea@gmail.com> @@ -70681,7 +70743,7 @@ module.exports={ }()); /* vim: set sw=4 ts=4 et tw=80 : */ -},{"./code":277}],279:[function(require,module,exports){ +},{"./code":281}],283:[function(require,module,exports){ /* Copyright (C) 2013 Yusuke Suzuki <utatane.tea@gmail.com> @@ -70716,7 +70778,7 @@ module.exports={ }()); /* vim: set sw=4 ts=4 et tw=80 : */ -},{"./ast":276,"./code":277,"./keyword":278}],280:[function(require,module,exports){ +},{"./ast":280,"./code":281,"./keyword":282}],284:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -71215,7 +71277,7 @@ function eventTargetAgnosticAddListener(emitter, name, listener, flags) { } } -},{}],281:[function(require,module,exports){ +},{}],285:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer var MD5 = require('md5.js') @@ -71262,7 +71324,7 @@ function EVP_BytesToKey (password, salt, keyBits, ivLen) { module.exports = EVP_BytesToKey -},{"md5.js":917,"safe-buffer":993}],282:[function(require,module,exports){ +},{"md5.js":921,"safe-buffer":997}],286:[function(require,module,exports){ var hasOwn = Object.prototype.hasOwnProperty; var toString = Object.prototype.toString; @@ -71286,11 +71348,11 @@ module.exports = function forEach (obj, fn, ctx) { }; -},{}],283:[function(require,module,exports){ +},{}],287:[function(require,module,exports){ /* eslint-env browser */ module.exports = typeof self == 'object' ? self.FormData : window.FormData; -},{}],284:[function(require,module,exports){ +},{}],288:[function(require,module,exports){ 'use strict'; /* eslint no-invalid-this: 1 */ @@ -71344,14 +71406,14 @@ module.exports = function bind(that) { return bound; }; -},{}],285:[function(require,module,exports){ +},{}],289:[function(require,module,exports){ 'use strict'; var implementation = require('./implementation'); module.exports = Function.prototype.bind || implementation; -},{"./implementation":284}],286:[function(require,module,exports){ +},{"./implementation":288}],290:[function(require,module,exports){ 'use strict'; /* ! @@ -71397,7 +71459,7 @@ function getFuncName(aFunc) { module.exports = getFuncName; -},{}],287:[function(require,module,exports){ +},{}],291:[function(require,module,exports){ 'use strict'; var undefined; @@ -71729,7 +71791,7 @@ module.exports = function GetIntrinsic(name, allowMissing) { return value; }; -},{"function-bind":285,"has":290,"has-symbols":288}],288:[function(require,module,exports){ +},{"function-bind":289,"has":294,"has-symbols":292}],292:[function(require,module,exports){ 'use strict'; var origSymbol = typeof Symbol !== 'undefined' && Symbol; @@ -71744,7 +71806,7 @@ module.exports = function hasNativeSymbols() { return hasSymbolSham(); }; -},{"./shams":289}],289:[function(require,module,exports){ +},{"./shams":293}],293:[function(require,module,exports){ 'use strict'; /* eslint complexity: [2, 18], max-statements: [2, 33] */ @@ -71788,14 +71850,14 @@ module.exports = function hasSymbols() { return true; }; -},{}],290:[function(require,module,exports){ +},{}],294:[function(require,module,exports){ 'use strict'; var bind = require('function-bind'); module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); -},{"function-bind":285}],291:[function(require,module,exports){ +},{"function-bind":289}],295:[function(require,module,exports){ 'use strict' var Buffer = require('safe-buffer').Buffer var Transform = require('readable-stream').Transform @@ -71892,37 +71954,37 @@ HashBase.prototype._digest = function () { module.exports = HashBase -},{"inherits":328,"readable-stream":306,"safe-buffer":993}],292:[function(require,module,exports){ -arguments[4][105][0].apply(exports,arguments) -},{"dup":105}],293:[function(require,module,exports){ -arguments[4][106][0].apply(exports,arguments) -},{"./_stream_readable":295,"./_stream_writable":297,"_process":974,"dup":106,"inherits":328}],294:[function(require,module,exports){ -arguments[4][107][0].apply(exports,arguments) -},{"./_stream_transform":296,"dup":107,"inherits":328}],295:[function(require,module,exports){ -arguments[4][108][0].apply(exports,arguments) -},{"../errors":292,"./_stream_duplex":293,"./internal/streams/async_iterator":298,"./internal/streams/buffer_list":299,"./internal/streams/destroy":300,"./internal/streams/from":302,"./internal/streams/state":304,"./internal/streams/stream":305,"_process":974,"buffer":124,"dup":108,"events":280,"inherits":328,"string_decoder/":1038,"util":77}],296:[function(require,module,exports){ +},{"inherits":332,"readable-stream":310,"safe-buffer":997}],296:[function(require,module,exports){ arguments[4][109][0].apply(exports,arguments) -},{"../errors":292,"./_stream_duplex":293,"dup":109,"inherits":328}],297:[function(require,module,exports){ +},{"dup":109}],297:[function(require,module,exports){ arguments[4][110][0].apply(exports,arguments) -},{"../errors":292,"./_stream_duplex":293,"./internal/streams/destroy":300,"./internal/streams/state":304,"./internal/streams/stream":305,"_process":974,"buffer":124,"dup":110,"inherits":328,"util-deprecate":1060}],298:[function(require,module,exports){ +},{"./_stream_readable":299,"./_stream_writable":301,"_process":978,"dup":110,"inherits":332}],298:[function(require,module,exports){ arguments[4][111][0].apply(exports,arguments) -},{"./end-of-stream":301,"_process":974,"dup":111}],299:[function(require,module,exports){ +},{"./_stream_transform":300,"dup":111,"inherits":332}],299:[function(require,module,exports){ arguments[4][112][0].apply(exports,arguments) -},{"buffer":124,"dup":112,"util":77}],300:[function(require,module,exports){ +},{"../errors":296,"./_stream_duplex":297,"./internal/streams/async_iterator":302,"./internal/streams/buffer_list":303,"./internal/streams/destroy":304,"./internal/streams/from":306,"./internal/streams/state":308,"./internal/streams/stream":309,"_process":978,"buffer":128,"dup":112,"events":284,"inherits":332,"string_decoder/":1042,"util":81}],300:[function(require,module,exports){ arguments[4][113][0].apply(exports,arguments) -},{"_process":974,"dup":113}],301:[function(require,module,exports){ +},{"../errors":296,"./_stream_duplex":297,"dup":113,"inherits":332}],301:[function(require,module,exports){ arguments[4][114][0].apply(exports,arguments) -},{"../../../errors":292,"dup":114}],302:[function(require,module,exports){ +},{"../errors":296,"./_stream_duplex":297,"./internal/streams/destroy":304,"./internal/streams/state":308,"./internal/streams/stream":309,"_process":978,"buffer":128,"dup":114,"inherits":332,"util-deprecate":1064}],302:[function(require,module,exports){ arguments[4][115][0].apply(exports,arguments) -},{"dup":115}],303:[function(require,module,exports){ +},{"./end-of-stream":305,"_process":978,"dup":115}],303:[function(require,module,exports){ arguments[4][116][0].apply(exports,arguments) -},{"../../../errors":292,"./end-of-stream":301,"dup":116}],304:[function(require,module,exports){ +},{"buffer":128,"dup":116,"util":81}],304:[function(require,module,exports){ arguments[4][117][0].apply(exports,arguments) -},{"../../../errors":292,"dup":117}],305:[function(require,module,exports){ +},{"_process":978,"dup":117}],305:[function(require,module,exports){ arguments[4][118][0].apply(exports,arguments) -},{"dup":118,"events":280}],306:[function(require,module,exports){ +},{"../../../errors":296,"dup":118}],306:[function(require,module,exports){ arguments[4][119][0].apply(exports,arguments) -},{"./lib/_stream_duplex.js":293,"./lib/_stream_passthrough.js":294,"./lib/_stream_readable.js":295,"./lib/_stream_transform.js":296,"./lib/_stream_writable.js":297,"./lib/internal/streams/end-of-stream.js":301,"./lib/internal/streams/pipeline.js":303,"dup":119}],307:[function(require,module,exports){ +},{"dup":119}],307:[function(require,module,exports){ +arguments[4][120][0].apply(exports,arguments) +},{"../../../errors":296,"./end-of-stream":305,"dup":120}],308:[function(require,module,exports){ +arguments[4][121][0].apply(exports,arguments) +},{"../../../errors":296,"dup":121}],309:[function(require,module,exports){ +arguments[4][122][0].apply(exports,arguments) +},{"dup":122,"events":284}],310:[function(require,module,exports){ +arguments[4][123][0].apply(exports,arguments) +},{"./lib/_stream_duplex.js":297,"./lib/_stream_passthrough.js":298,"./lib/_stream_readable.js":299,"./lib/_stream_transform.js":300,"./lib/_stream_writable.js":301,"./lib/internal/streams/end-of-stream.js":305,"./lib/internal/streams/pipeline.js":307,"dup":123}],311:[function(require,module,exports){ var hash = exports; hash.utils = require('./hash/utils'); @@ -71939,7 +72001,7 @@ hash.sha384 = hash.sha.sha384; hash.sha512 = hash.sha.sha512; hash.ripemd160 = hash.ripemd.ripemd160; -},{"./hash/common":308,"./hash/hmac":309,"./hash/ripemd":310,"./hash/sha":311,"./hash/utils":318}],308:[function(require,module,exports){ +},{"./hash/common":312,"./hash/hmac":313,"./hash/ripemd":314,"./hash/sha":315,"./hash/utils":322}],312:[function(require,module,exports){ 'use strict'; var utils = require('./utils'); @@ -72033,7 +72095,7 @@ BlockHash.prototype._pad = function pad() { return res; }; -},{"./utils":318,"minimalistic-assert":920}],309:[function(require,module,exports){ +},{"./utils":322,"minimalistic-assert":924}],313:[function(require,module,exports){ 'use strict'; var utils = require('./utils'); @@ -72082,7 +72144,7 @@ Hmac.prototype.digest = function digest(enc) { return this.outer.digest(enc); }; -},{"./utils":318,"minimalistic-assert":920}],310:[function(require,module,exports){ +},{"./utils":322,"minimalistic-assert":924}],314:[function(require,module,exports){ 'use strict'; var utils = require('./utils'); @@ -72230,7 +72292,7 @@ var sh = [ 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]; -},{"./common":308,"./utils":318}],311:[function(require,module,exports){ +},{"./common":312,"./utils":322}],315:[function(require,module,exports){ 'use strict'; exports.sha1 = require('./sha/1'); @@ -72239,7 +72301,7 @@ exports.sha256 = require('./sha/256'); exports.sha384 = require('./sha/384'); exports.sha512 = require('./sha/512'); -},{"./sha/1":312,"./sha/224":313,"./sha/256":314,"./sha/384":315,"./sha/512":316}],312:[function(require,module,exports){ +},{"./sha/1":316,"./sha/224":317,"./sha/256":318,"./sha/384":319,"./sha/512":320}],316:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -72315,7 +72377,7 @@ SHA1.prototype._digest = function digest(enc) { return utils.split32(this.h, 'big'); }; -},{"../common":308,"../utils":318,"./common":317}],313:[function(require,module,exports){ +},{"../common":312,"../utils":322,"./common":321}],317:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -72347,7 +72409,7 @@ SHA224.prototype._digest = function digest(enc) { }; -},{"../utils":318,"./256":314}],314:[function(require,module,exports){ +},{"../utils":322,"./256":318}],318:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -72454,7 +72516,7 @@ SHA256.prototype._digest = function digest(enc) { return utils.split32(this.h, 'big'); }; -},{"../common":308,"../utils":318,"./common":317,"minimalistic-assert":920}],315:[function(require,module,exports){ +},{"../common":312,"../utils":322,"./common":321,"minimalistic-assert":924}],319:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -72491,7 +72553,7 @@ SHA384.prototype._digest = function digest(enc) { return utils.split32(this.h.slice(0, 12), 'big'); }; -},{"../utils":318,"./512":316}],316:[function(require,module,exports){ +},{"../utils":322,"./512":320}],320:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -72823,7 +72885,7 @@ function g1_512_lo(xh, xl) { return r; } -},{"../common":308,"../utils":318,"minimalistic-assert":920}],317:[function(require,module,exports){ +},{"../common":312,"../utils":322,"minimalistic-assert":924}],321:[function(require,module,exports){ 'use strict'; var utils = require('../utils'); @@ -72874,7 +72936,7 @@ function g1_256(x) { } exports.g1_256 = g1_256; -},{"../utils":318}],318:[function(require,module,exports){ +},{"../utils":322}],322:[function(require,module,exports){ 'use strict'; var assert = require('minimalistic-assert'); @@ -73154,7 +73216,7 @@ function shr64_lo(ah, al, num) { } exports.shr64_lo = shr64_lo; -},{"inherits":328,"minimalistic-assert":920}],319:[function(require,module,exports){ +},{"inherits":332,"minimalistic-assert":924}],323:[function(require,module,exports){ 'use strict'; var hash = require('hash.js'); @@ -73269,7 +73331,7 @@ HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) { return utils.encode(res, enc); }; -},{"hash.js":307,"minimalistic-assert":920,"minimalistic-crypto-utils":921}],320:[function(require,module,exports){ +},{"hash.js":311,"minimalistic-assert":924,"minimalistic-crypto-utils":925}],324:[function(require,module,exports){ "use strict"; const whatwgEncoding = require("whatwg-encoding"); @@ -73566,7 +73628,7 @@ function isSpaceCharacter(c) { return c === 0x09 || c === 0x0A || c === 0x0C || c === 0x0D || c === 0x20; } -},{"whatwg-encoding":1078}],321:[function(require,module,exports){ +},{"whatwg-encoding":1082}],325:[function(require,module,exports){ (function (Buffer){(function (){ "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { @@ -73714,7 +73776,7 @@ class HttpProxyAgent extends agent_base_1.Agent { exports.default = HttpProxyAgent; }).call(this)}).call(this,require("buffer").Buffer) -},{"@tootallnate/once":43,"agent-base":50,"buffer":124,"debug":223,"net":122,"tls":122,"url":1058}],322:[function(require,module,exports){ +},{"@tootallnate/once":47,"agent-base":54,"buffer":128,"debug":227,"net":126,"tls":126,"url":1062}],326:[function(require,module,exports){ "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; @@ -73729,7 +73791,7 @@ function createHttpProxyAgent(opts) { })(createHttpProxyAgent || (createHttpProxyAgent = {})); module.exports = createHttpProxyAgent; -},{"./agent":321}],323:[function(require,module,exports){ +},{"./agent":325}],327:[function(require,module,exports){ var http = require('http') var url = require('url') @@ -73762,7 +73824,7 @@ function validateParams (params) { return params } -},{"http":1019,"url":1058}],324:[function(require,module,exports){ +},{"http":1023,"url":1062}],328:[function(require,module,exports){ (function (Buffer){(function (){ "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { @@ -73945,7 +74007,7 @@ function omit(obj, ...keys) { } }).call(this)}).call(this,require("buffer").Buffer) -},{"./parse-proxy-response":326,"agent-base":50,"assert":68,"buffer":124,"debug":223,"net":122,"tls":122,"url":1058}],325:[function(require,module,exports){ +},{"./parse-proxy-response":330,"agent-base":54,"assert":72,"buffer":128,"debug":227,"net":126,"tls":126,"url":1062}],329:[function(require,module,exports){ "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; @@ -73960,7 +74022,7 @@ function createHttpsProxyAgent(opts) { })(createHttpsProxyAgent || (createHttpsProxyAgent = {})); module.exports = createHttpsProxyAgent; -},{"./agent":324}],326:[function(require,module,exports){ +},{"./agent":328}],330:[function(require,module,exports){ (function (Buffer){(function (){ "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { @@ -74029,7 +74091,7 @@ function parseProxyResponse(socket) { exports.default = parseProxyResponse; }).call(this)}).call(this,require("buffer").Buffer) -},{"buffer":124,"debug":223}],327:[function(require,module,exports){ +},{"buffer":128,"debug":227}],331:[function(require,module,exports){ /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */ exports.read = function (buffer, offset, isLE, mLen, nBytes) { var e, m @@ -74116,7 +74178,7 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { buffer[offset + i - d] |= s * 128 } -},{}],328:[function(require,module,exports){ +},{}],332:[function(require,module,exports){ if (typeof Object.create === 'function') { // implementation from standard node.js 'util' module module.exports = function inherits(ctor, superCtor) { @@ -74145,7 +74207,7 @@ if (typeof Object.create === 'function') { } } -},{}],329:[function(require,module,exports){ +},{}],333:[function(require,module,exports){ 'use strict'; var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; @@ -74180,7 +74242,7 @@ isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments; -},{"call-bind/callBound":126}],330:[function(require,module,exports){ +},{"call-bind/callBound":130}],334:[function(require,module,exports){ 'use strict'; var toStr = Object.prototype.toString; @@ -74220,7 +74282,7 @@ module.exports = function isGeneratorFunction(fn) { return getProto(fn) === GeneratorFunction; }; -},{}],331:[function(require,module,exports){ +},{}],335:[function(require,module,exports){ // Generated using `npm run build`. Do not edit. var regex = /^[a-z](?:[\.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*-(?:[\x2D\.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/; @@ -74231,7 +74293,7 @@ var isPotentialCustomElementName = function(string) { module.exports = isPotentialCustomElementName; -},{}],332:[function(require,module,exports){ +},{}],336:[function(require,module,exports){ (function (global){(function (){ 'use strict'; @@ -74296,7 +74358,7 @@ module.exports = function isTypedArray(value) { }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"available-typed-arrays":73,"call-bind/callBound":126,"es-abstract/helpers/getOwnPropertyDescriptor":261,"foreach":282,"has-symbols":288}],333:[function(require,module,exports){ +},{"available-typed-arrays":77,"call-bind/callBound":130,"es-abstract/helpers/getOwnPropertyDescriptor":265,"foreach":286,"has-symbols":292}],337:[function(require,module,exports){ (function (Buffer){(function (){ "use strict"; const path = require("path"); @@ -74633,7 +74695,7 @@ exports.ResourceLoader = ResourceLoader; exports.toughCookie = toughCookie; }).call(this)}).call(this,require("buffer").Buffer) -},{"./jsdom/browser/Window.js":334,"./jsdom/browser/parser":339,"./jsdom/browser/resources/no-op-resource-loader.js":342,"./jsdom/browser/resources/resource-loader.js":345,"./jsdom/living/domparsing/serialization.js":363,"./jsdom/living/generated/utils.js":591,"./jsdom/virtual-console.js":777,"buffer":124,"fs":122,"html-encoding-sniffer":320,"path":966,"tough-cookie":1044,"vm":778,"whatwg-encoding":1078,"whatwg-mimetype":1098,"whatwg-url":1113}],334:[function(require,module,exports){ +},{"./jsdom/browser/Window.js":338,"./jsdom/browser/parser":343,"./jsdom/browser/resources/no-op-resource-loader.js":346,"./jsdom/browser/resources/resource-loader.js":349,"./jsdom/living/domparsing/serialization.js":367,"./jsdom/living/generated/utils.js":595,"./jsdom/virtual-console.js":781,"buffer":128,"fs":126,"html-encoding-sniffer":324,"path":970,"tough-cookie":1048,"vm":782,"whatwg-encoding":1082,"whatwg-mimetype":1102,"whatwg-url":1117}],338:[function(require,module,exports){ (function (process,global){(function (){ "use strict"; const vm = require("vm"); @@ -75570,7 +75632,7 @@ function contextifyWindow(window) { } }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../living/documents.js":358,"../living/generated/BarProp":397,"../living/generated/CustomElementRegistry":410,"../living/generated/Element":420,"../living/generated/EventHandlerNonNull":427,"../living/generated/EventTarget":432,"../living/generated/External":433,"../living/generated/Navigator":536,"../living/generated/OnBeforeUnloadEventHandlerNonNull":541,"../living/generated/OnErrorEventHandlerNonNull":542,"../living/generated/PageTransitionEvent":543,"../living/generated/Performance":545,"../living/generated/Screen":561,"../living/generated/Selection":562,"../living/generated/Storage":569,"../living/generated/utils":591,"../living/helpers/create-event-accessor.js":595,"../living/helpers/events":600,"../living/helpers/runtime-script-errors":613,"../living/helpers/style-rules.js":617,"../living/interfaces":625,"../living/named-properties-window":628,"../living/nodes/GlobalEventHandlers-impl":656,"../living/nodes/WindowEventHandlers-impl":746,"../living/post-message":748,"../living/websockets/WebSocket-impl":761,"../living/window/SessionHistory":768,"../utils":776,"./js-globals.json":336,"./not-implemented":337,"_process":974,"abab":44,"cssstyle":190,"domexception/webidl2js-wrapper":243,"vm":778,"w3c-hr-time":1064,"webidl-conversions":1075}],335:[function(require,module,exports){ +},{"../living/documents.js":362,"../living/generated/BarProp":401,"../living/generated/CustomElementRegistry":414,"../living/generated/Element":424,"../living/generated/EventHandlerNonNull":431,"../living/generated/EventTarget":436,"../living/generated/External":437,"../living/generated/Navigator":540,"../living/generated/OnBeforeUnloadEventHandlerNonNull":545,"../living/generated/OnErrorEventHandlerNonNull":546,"../living/generated/PageTransitionEvent":547,"../living/generated/Performance":549,"../living/generated/Screen":565,"../living/generated/Selection":566,"../living/generated/Storage":573,"../living/generated/utils":595,"../living/helpers/create-event-accessor.js":599,"../living/helpers/events":604,"../living/helpers/runtime-script-errors":617,"../living/helpers/style-rules.js":621,"../living/interfaces":629,"../living/named-properties-window":632,"../living/nodes/GlobalEventHandlers-impl":660,"../living/nodes/WindowEventHandlers-impl":750,"../living/post-message":752,"../living/websockets/WebSocket-impl":765,"../living/window/SessionHistory":772,"../utils":780,"./js-globals.json":340,"./not-implemented":341,"_process":978,"abab":48,"cssstyle":194,"domexception/webidl2js-wrapper":247,"vm":782,"w3c-hr-time":1068,"webidl-conversions":1079}],339:[function(require,module,exports){ // Ideally, we would use // https://html.spec.whatwg.org/multipage/rendering.html#the-css-user-agent-style-sheet-and-presentational-hints // but for now, just use the version from blink. This file is copied from @@ -76361,7 +76423,7 @@ dialog { `; -},{}],336:[function(require,module,exports){ +},{}],340:[function(require,module,exports){ module.exports={ "Object": { "writable": true, @@ -76670,7 +76732,7 @@ module.exports={ } } -},{}],337:[function(require,module,exports){ +},{}],341:[function(require,module,exports){ "use strict"; module.exports = function (nameForErrorMessage, window) { @@ -76685,7 +76747,7 @@ module.exports = function (nameForErrorMessage, window) { window._virtualConsole.emit("jsdomError", error); }; -},{}],338:[function(require,module,exports){ +},{}],342:[function(require,module,exports){ "use strict"; const parse5 = require("parse5"); @@ -76910,7 +76972,7 @@ module.exports = { parseIntoDocument }; -},{"../../living/attributes":351,"../../living/domparsing/parse5-adapter-serialization":362,"../../living/generated/Comment":406,"../../living/generated/DocumentFragment":418,"../../living/generated/DocumentType":419,"../../living/generated/Text":574,"../../living/helpers/create-element":594,"../../living/helpers/custom-elements":596,"../../living/helpers/namespaces":609,"../../living/node-type":641,"parse5":955,"parse5/lib/parser/open-element-stack":958}],339:[function(require,module,exports){ +},{"../../living/attributes":355,"../../living/domparsing/parse5-adapter-serialization":366,"../../living/generated/Comment":410,"../../living/generated/DocumentFragment":422,"../../living/generated/DocumentType":423,"../../living/generated/Text":578,"../../living/helpers/create-element":598,"../../living/helpers/custom-elements":600,"../../living/helpers/namespaces":613,"../../living/node-type":645,"parse5":959,"parse5/lib/parser/open-element-stack":962}],343:[function(require,module,exports){ "use strict"; const xmlParser = require("./xml"); @@ -76949,7 +77011,7 @@ module.exports = { parseIntoDocument }; -},{"./html":338,"./xml":340}],340:[function(require,module,exports){ +},{"./html":342,"./xml":344}],344:[function(require,module,exports){ "use strict"; const { SaxesParser } = require("saxes"); @@ -77153,7 +77215,7 @@ module.exports = { parseIntoDocument }; -},{"../../living/attributes":351,"../../living/generated/CDATASection":402,"../../living/generated/Comment":406,"../../living/generated/DocumentFragment":418,"../../living/generated/DocumentType":419,"../../living/generated/ProcessingInstruction":550,"../../living/generated/Text":574,"../../living/helpers/create-element":594,"../../living/helpers/namespaces":609,"domexception/webidl2js-wrapper":243,"saxes":995}],341:[function(require,module,exports){ +},{"../../living/attributes":355,"../../living/generated/CDATASection":406,"../../living/generated/Comment":410,"../../living/generated/DocumentFragment":422,"../../living/generated/DocumentType":423,"../../living/generated/ProcessingInstruction":554,"../../living/generated/Text":578,"../../living/helpers/create-element":598,"../../living/helpers/namespaces":613,"domexception/webidl2js-wrapper":247,"saxes":999}],345:[function(require,module,exports){ "use strict"; class QueueItem { @@ -77269,7 +77331,7 @@ module.exports = class AsyncResourceQueue { } }; -},{}],342:[function(require,module,exports){ +},{}],346:[function(require,module,exports){ "use strict"; const ResourceLoader = require("./resource-loader.js"); @@ -77279,7 +77341,7 @@ module.exports = class NoOpResourceLoader extends ResourceLoader { } }; -},{"./resource-loader.js":345}],343:[function(require,module,exports){ +},{"./resource-loader.js":349}],347:[function(require,module,exports){ "use strict"; const idlUtils = require("../../living/generated/utils"); const { fireAnEvent } = require("../../living/helpers/events"); @@ -77376,7 +77438,7 @@ module.exports = class PerDocumentResourceLoader { } }; -},{"../../living/generated/utils":591,"../../living/helpers/events":600}],344:[function(require,module,exports){ +},{"../../living/generated/utils":595,"../../living/helpers/events":604}],348:[function(require,module,exports){ "use strict"; /** @@ -77411,7 +77473,7 @@ module.exports = class RequestManager { } }; -},{}],345:[function(require,module,exports){ +},{}],349:[function(require,module,exports){ (function (process,Buffer){(function (){ "use strict"; const fs = require("fs"); @@ -77557,7 +77619,7 @@ module.exports = class ResourceLoader { }; }).call(this)}).call(this,require('_process'),require("buffer").Buffer) -},{"../../../../package.json":780,"../../living/helpers/agent-factory":592,"../../living/helpers/http-request":604,"_process":974,"buffer":124,"data-urls":221,"fs":122,"url":1058,"whatwg-url":1113}],346:[function(require,module,exports){ +},{"../../../../package.json":784,"../../living/helpers/agent-factory":596,"../../living/helpers/http-request":608,"_process":978,"buffer":128,"data-urls":225,"fs":126,"url":1062,"whatwg-url":1117}],350:[function(require,module,exports){ "use strict"; /** @@ -77701,7 +77763,7 @@ module.exports = class ResourceQueue { } }; -},{}],347:[function(require,module,exports){ +},{}],351:[function(require,module,exports){ "use strict"; const cssom = require("cssom"); const cssstyle = require("cssstyle"); @@ -77760,7 +77822,7 @@ exports.addToCore = core => { // Counter }; -},{"cssom":188,"cssstyle":190}],348:[function(require,module,exports){ +},{"cssom":192,"cssstyle":194}],352:[function(require,module,exports){ /** Here is yet another implementation of XPath 1.0 in Javascript. * * My goal was to make it relatively compact, but as I fixed all the axis bugs @@ -79636,7 +79698,7 @@ module.exports = core => { return xpath; // for tests }; -},{}],349:[function(require,module,exports){ +},{}],353:[function(require,module,exports){ "use strict"; const AbortSignal = require("../generated/AbortSignal"); @@ -79655,7 +79717,7 @@ module.exports = { implementation: AbortControllerImpl }; -},{"../generated/AbortSignal":392}],350:[function(require,module,exports){ +},{"../generated/AbortSignal":396}],354:[function(require,module,exports){ "use strict"; const { setupForSimpleEventAccessors } = require("../helpers/create-event-accessor"); @@ -79705,7 +79767,7 @@ module.exports = { implementation: AbortSignalImpl }; -},{"../events/EventTarget-impl":370,"../helpers/create-event-accessor":595,"../helpers/events":600}],351:[function(require,module,exports){ +},{"../events/EventTarget-impl":374,"../helpers/create-event-accessor":599,"../helpers/events":604}],355:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -80019,7 +80081,7 @@ exports.hasAttributes = function (element) { return element._attributeList.length > 0; }; -},{"./helpers/custom-elements":596,"./helpers/mutation-observers":608,"./helpers/namespaces":609,"./helpers/strings":616,"domexception/webidl2js-wrapper":243}],352:[function(require,module,exports){ +},{"./helpers/custom-elements":600,"./helpers/mutation-observers":612,"./helpers/namespaces":613,"./helpers/strings":620,"domexception/webidl2js-wrapper":247}],356:[function(require,module,exports){ "use strict"; const { setAnExistingAttributeValue } = require("../attributes.js"); @@ -80081,7 +80143,7 @@ exports.implementation = class AttrImpl extends NodeImpl { } }; -},{"../attributes.js":351,"../node-type.js":641,"../nodes/Node-impl.js":732}],353:[function(require,module,exports){ +},{"../attributes.js":355,"../node-type.js":645,"../nodes/Node-impl.js":736}],357:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -80161,7 +80223,7 @@ exports.implementation = class NamedNodeMapImpl { } }; -},{"../attributes.js":351,"../generated/utils.js":591,"../helpers/namespaces":609,"domexception/webidl2js-wrapper":243}],354:[function(require,module,exports){ +},{"../attributes.js":355,"../generated/utils.js":595,"../helpers/namespaces":613,"domexception/webidl2js-wrapper":247}],358:[function(require,module,exports){ "use strict"; const ValidityState = require("../generated/ValidityState"); @@ -80238,7 +80300,7 @@ exports.implementation = class DefaultConstraintValidationImpl { } }; -},{"../generated/ValidityState":581,"../helpers/events":600,"../helpers/form-controls":602,"../helpers/traversal":622}],355:[function(require,module,exports){ +},{"../generated/ValidityState":585,"../helpers/events":604,"../helpers/form-controls":606,"../helpers/traversal":626}],359:[function(require,module,exports){ "use strict"; exports.implementation = class ValidityStateImpl { @@ -80306,7 +80368,7 @@ exports.implementation = class ValidityStateImpl { } }; -},{}],356:[function(require,module,exports){ +},{}],360:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils.js"); @@ -80346,7 +80408,7 @@ exports.implementation = class StyleSheetList { } }; -},{"../generated/utils.js":591}],357:[function(require,module,exports){ +},{"../generated/utils.js":595}],361:[function(require,module,exports){ "use strict"; const webIDLConversions = require("webidl-conversions"); @@ -80613,7 +80675,7 @@ module.exports = { implementation: CustomElementRegistryImpl }; -},{"../generated/Function.js":441,"../generated/HTMLUnknownElement":514,"../generated/utils":591,"../helpers/create-element":594,"../helpers/custom-elements":596,"../helpers/namespaces":609,"../helpers/shadow-dom":615,"../node-type":641,"domexception/webidl2js-wrapper":243,"webidl-conversions":1075}],358:[function(require,module,exports){ +},{"../generated/Function.js":445,"../generated/HTMLUnknownElement":518,"../generated/utils":595,"../helpers/create-element":598,"../helpers/custom-elements":600,"../helpers/namespaces":613,"../helpers/shadow-dom":619,"../node-type":645,"domexception/webidl2js-wrapper":247,"webidl-conversions":1079}],362:[function(require,module,exports){ "use strict"; const XMLDocument = require("../living/generated/XMLDocument.js"); const Document = require("../living/generated/Document.js"); @@ -80630,7 +80692,7 @@ exports.createWrapper = (...args) => { return wrapperForImpl(exports.createImpl(...args)); }; -},{"../living/generated/Document.js":417,"../living/generated/XMLDocument.js":585,"./generated/utils.js":591}],359:[function(require,module,exports){ +},{"../living/generated/Document.js":421,"../living/generated/XMLDocument.js":589,"./generated/utils.js":595}],363:[function(require,module,exports){ "use strict"; const { parseIntoDocument } = require("../../browser/parser"); @@ -80690,7 +80752,7 @@ exports.implementation = class DOMParserImpl { } }; -},{"../../browser/parser":339,"../generated/Document":417}],360:[function(require,module,exports){ +},{"../../browser/parser":343,"../generated/Document":421}],364:[function(require,module,exports){ "use strict"; const { parseFragment } = require("../../browser/parser"); @@ -80721,7 +80783,7 @@ exports.implementation = class InnerHTMLImpl { } }; -},{"../../browser/parser":339,"../helpers/namespaces.js":609,"../helpers/shadow-dom.js":615,"../node-type.js":641,"./serialization.js":363}],361:[function(require,module,exports){ +},{"../../browser/parser":343,"../helpers/namespaces.js":613,"../helpers/shadow-dom.js":619,"../node-type.js":645,"./serialization.js":367}],365:[function(require,module,exports){ "use strict"; const serialize = require("w3c-xmlserializer"); const DOMException = require("domexception/webidl2js-wrapper"); @@ -80741,7 +80803,7 @@ exports.implementation = class XMLSerializerImpl { } }; -},{"../generated/utils":591,"domexception/webidl2js-wrapper":243,"w3c-xmlserializer":1073}],362:[function(require,module,exports){ +},{"../generated/utils":595,"domexception/webidl2js-wrapper":247,"w3c-xmlserializer":1077}],366:[function(require,module,exports){ "use strict"; const nodeTypes = require("../node-type"); const { domSymbolTree } = require("../helpers/internal-constants"); @@ -80806,7 +80868,7 @@ exports.updateNodeSourceCodeLocation = (node, endLocation) => { Object.assign(node.sourceCodeLocation, endLocation); }; -},{"../helpers/internal-constants":605,"../node-type":641}],363:[function(require,module,exports){ +},{"../helpers/internal-constants":609,"../node-type":645}],367:[function(require,module,exports){ "use strict"; const produceXMLSerialization = require("w3c-xmlserializer"); @@ -80853,7 +80915,7 @@ module.exports.fragmentSerialization = (node, { requireWellFormed, globalObject } }; -},{"../generated/utils":591,"../helpers/namespaces":609,"../node-type":641,"./parse5-adapter-serialization":362,"domexception/webidl2js-wrapper":243,"parse5":955,"w3c-xmlserializer":1073}],364:[function(require,module,exports){ +},{"../generated/utils":595,"../helpers/namespaces":613,"../node-type":645,"./parse5-adapter-serialization":366,"domexception/webidl2js-wrapper":247,"parse5":959,"w3c-xmlserializer":1077}],368:[function(require,module,exports){ "use strict"; const EventImpl = require("./Event-impl").implementation; @@ -80865,7 +80927,7 @@ CloseEventImpl.defaultInit = CloseEventInit.convert(undefined); exports.implementation = CloseEventImpl; -},{"../generated/CloseEventInit":405,"./Event-impl":368}],365:[function(require,module,exports){ +},{"../generated/CloseEventInit":409,"./Event-impl":372}],369:[function(require,module,exports){ "use strict"; const UIEventImpl = require("./UIEvent-impl").implementation; @@ -80887,7 +80949,7 @@ module.exports = { implementation: CompositionEventImpl }; -},{"../generated/CompositionEventInit":408,"./UIEvent-impl":382}],366:[function(require,module,exports){ +},{"../generated/CompositionEventInit":412,"./UIEvent-impl":386}],370:[function(require,module,exports){ "use strict"; const EventImpl = require("./Event-impl").implementation; @@ -80910,7 +80972,7 @@ module.exports = { implementation: CustomEventImpl }; -},{"../generated/CustomEventInit":412,"./Event-impl":368}],367:[function(require,module,exports){ +},{"../generated/CustomEventInit":416,"./Event-impl":372}],371:[function(require,module,exports){ "use strict"; const EventImpl = require("./Event-impl").implementation; @@ -80926,7 +80988,7 @@ module.exports = { implementation: ErrorEventImpl }; -},{"../generated/ErrorEventInit":425,"./Event-impl":368}],368:[function(require,module,exports){ +},{"../generated/ErrorEventInit":429,"./Event-impl":372}],372:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils"); @@ -81125,7 +81187,7 @@ module.exports = { implementation: EventImpl }; -},{"../generated/EventInit":428,"../generated/utils":591}],369:[function(require,module,exports){ +},{"../generated/EventInit":432,"../generated/utils":595}],373:[function(require,module,exports){ "use strict"; // This mixin doesn't have an IDL equivalent, but since MouseEvent and KeyboardEvent implement getModifierState() the @@ -81145,7 +81207,7 @@ class EventModifierMixinImpl { exports.implementation = EventModifierMixinImpl; -},{}],370:[function(require,module,exports){ +},{}],374:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -81550,7 +81612,7 @@ function appendToEventPath(eventImpl, target, targetOverride, relatedTarget, tou }); } -},{"../generated/MouseEvent":529,"../generated/utils":591,"../helpers/node":610,"../helpers/runtime-script-errors":613,"../helpers/shadow-dom":615,"domexception/webidl2js-wrapper":243}],371:[function(require,module,exports){ +},{"../generated/MouseEvent":533,"../generated/utils":595,"../helpers/node":614,"../helpers/runtime-script-errors":617,"../helpers/shadow-dom":619,"domexception/webidl2js-wrapper":247}],375:[function(require,module,exports){ "use strict"; const UIEventImpl = require("./UIEvent-impl").implementation; @@ -81561,7 +81623,7 @@ FocusEventImpl.defaultInit = FocusEventInit.convert(undefined); exports.implementation = FocusEventImpl; -},{"../generated/FocusEventInit":439,"./UIEvent-impl":382}],372:[function(require,module,exports){ +},{"../generated/FocusEventInit":443,"./UIEvent-impl":386}],376:[function(require,module,exports){ "use strict"; const EventImpl = require("./Event-impl").implementation; @@ -81577,7 +81639,7 @@ module.exports = { implementation: HashChangeEventImpl }; -},{"../generated/HashChangeEventInit":517,"./Event-impl":368}],373:[function(require,module,exports){ +},{"../generated/HashChangeEventInit":521,"./Event-impl":372}],377:[function(require,module,exports){ "use strict"; const UIEventImpl = require("./UIEvent-impl").implementation; const InputEventInit = require("../generated/InputEventInit"); @@ -81590,7 +81652,7 @@ module.exports = { implementation: InputEventImpl }; -},{"../generated/InputEventInit":521,"./UIEvent-impl":382}],374:[function(require,module,exports){ +},{"../generated/InputEventInit":525,"./UIEvent-impl":386}],378:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); @@ -81621,7 +81683,7 @@ module.exports = { implementation: KeyboardEventImpl }; -},{"../../utils":776,"../generated/KeyboardEventInit":523,"./EventModifierMixin-impl":369,"./UIEvent-impl":382}],375:[function(require,module,exports){ +},{"../../utils":780,"../generated/KeyboardEventInit":527,"./EventModifierMixin-impl":373,"./UIEvent-impl":386}],379:[function(require,module,exports){ "use strict"; const EventImpl = require("./Event-impl").implementation; @@ -81648,7 +81710,7 @@ module.exports = { implementation: MessageEventImpl }; -},{"../generated/MessageEventInit":526,"./Event-impl":368}],376:[function(require,module,exports){ +},{"../generated/MessageEventInit":530,"./Event-impl":372}],380:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); @@ -81699,7 +81761,7 @@ module.exports = { implementation: MouseEventImpl }; -},{"../../utils":776,"../generated/MouseEventInit":530,"./EventModifierMixin-impl":369,"./UIEvent-impl":382}],377:[function(require,module,exports){ +},{"../../utils":780,"../generated/MouseEventInit":534,"./EventModifierMixin-impl":373,"./UIEvent-impl":386}],381:[function(require,module,exports){ "use strict"; const EventImpl = require("./Event-impl").implementation; @@ -81721,7 +81783,7 @@ PageTransitionEventImpl.defaultInit = PageTransitionEventInit.convert(undefined) exports.implementation = PageTransitionEventImpl; -},{"../generated/PageTransitionEventInit":544,"./Event-impl":368}],378:[function(require,module,exports){ +},{"../generated/PageTransitionEventInit":548,"./Event-impl":372}],382:[function(require,module,exports){ "use strict"; const EventImpl = require("./Event-impl.js").implementation; @@ -81732,7 +81794,7 @@ PopStateEventImpl.defaultInit = PopStateEventInit.convert(undefined); exports.implementation = PopStateEventImpl; -},{"../generated/PopStateEventInit":549,"./Event-impl.js":368}],379:[function(require,module,exports){ +},{"../generated/PopStateEventInit":553,"./Event-impl.js":372}],383:[function(require,module,exports){ "use strict"; const EventImpl = require("./Event-impl").implementation; @@ -81748,7 +81810,7 @@ module.exports = { implementation: ProgressEventImpl }; -},{"../generated/ProgressEventInit":552,"./Event-impl":368}],380:[function(require,module,exports){ +},{"../generated/ProgressEventInit":556,"./Event-impl":372}],384:[function(require,module,exports){ "use strict"; const EventImpl = require("./Event-impl").implementation; @@ -81776,7 +81838,7 @@ module.exports = { implementation: StorageEventImpl }; -},{"../generated/StorageEventInit":571,"./Event-impl":368}],381:[function(require,module,exports){ +},{"../generated/StorageEventInit":575,"./Event-impl":372}],385:[function(require,module,exports){ "use strict"; const UIEventImpl = require("./UIEvent-impl").implementation; @@ -81792,7 +81854,7 @@ module.exports = { implementation: TouchEventImpl }; -},{"../generated/TouchEventInit":577,"./UIEvent-impl":382}],382:[function(require,module,exports){ +},{"../generated/TouchEventInit":581,"./UIEvent-impl":386}],386:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils"); @@ -81853,7 +81915,7 @@ module.exports = { implementation: UIEventImpl }; -},{"../generated/UIEventInit":580,"../generated/utils":591,"./Event-impl":368}],383:[function(require,module,exports){ +},{"../generated/UIEventInit":584,"../generated/utils":595,"./Event-impl":372}],387:[function(require,module,exports){ "use strict"; const MouseEventImpl = require("./MouseEvent-impl").implementation; @@ -81867,7 +81929,7 @@ module.exports = { implementation: WheelEventImpl }; -},{"../generated/WheelEventInit":584,"./MouseEvent-impl":376}],384:[function(require,module,exports){ +},{"../generated/WheelEventInit":588,"./MouseEvent-impl":380}],388:[function(require,module,exports){ "use strict"; const { @@ -82034,7 +82096,7 @@ class HeadersImpl { exports.implementation = HeadersImpl; -},{"./header-list":385,"./header-types":386}],385:[function(require,module,exports){ +},{"./header-list":389,"./header-types":390}],389:[function(require,module,exports){ "use strict"; /** @@ -82090,7 +82152,7 @@ class HeaderList { module.exports = HeaderList; -},{}],386:[function(require,module,exports){ +},{}],390:[function(require,module,exports){ (function (Buffer){(function (){ "use strict"; @@ -82197,7 +82259,7 @@ module.exports = { }; }).call(this)}).call(this,require("buffer").Buffer) -},{"buffer":124,"whatwg-mimetype":1098}],387:[function(require,module,exports){ +},{"buffer":128,"whatwg-mimetype":1102}],391:[function(require,module,exports){ (function (Buffer){(function (){ "use strict"; const Blob = require("../generated/Blob"); @@ -82294,7 +82356,7 @@ exports.implementation = class BlobImpl { }; }).call(this)}).call(this,require("buffer").Buffer) -},{"../generated/Blob":399,"../generated/utils":591,"buffer":124}],388:[function(require,module,exports){ +},{"../generated/Blob":403,"../generated/utils":595,"buffer":128}],392:[function(require,module,exports){ "use strict"; const BlobImpl = require("./Blob-impl").implementation; @@ -82308,7 +82370,7 @@ exports.implementation = class FileImpl extends BlobImpl { } }; -},{"./Blob-impl":387}],389:[function(require,module,exports){ +},{"./Blob-impl":391}],393:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils.js"); @@ -82325,7 +82387,7 @@ exports.implementation = class FileListImpl extends Array { } }; -},{"../generated/utils.js":591}],390:[function(require,module,exports){ +},{"../generated/utils.js":595}],394:[function(require,module,exports){ (function (Buffer,setImmediate){(function (){ "use strict"; @@ -82459,7 +82521,7 @@ setupForSimpleEventAccessors(FileReaderImpl.prototype, events); exports.implementation = FileReaderImpl; }).call(this)}).call(this,require("buffer").Buffer,require("timers").setImmediate) -},{"../events/EventTarget-impl":370,"../generated/ProgressEvent":551,"../helpers/binary-data":593,"../helpers/create-event-accessor":595,"../helpers/events":600,"buffer":124,"domexception/webidl2js-wrapper":243,"timers":1043,"whatwg-encoding":1078,"whatwg-mimetype":1098}],391:[function(require,module,exports){ +},{"../events/EventTarget-impl":374,"../generated/ProgressEvent":555,"../helpers/binary-data":597,"../helpers/create-event-accessor":599,"../helpers/events":604,"buffer":128,"domexception/webidl2js-wrapper":247,"timers":1047,"whatwg-encoding":1082,"whatwg-mimetype":1102}],395:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -82591,7 +82653,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../aborting/AbortController-impl.js"); -},{"../aborting/AbortController-impl.js":349,"./utils.js":591,"webidl-conversions":1075}],392:[function(require,module,exports){ +},{"../aborting/AbortController-impl.js":353,"./utils.js":595,"webidl-conversions":1079}],396:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -82747,7 +82809,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../aborting/AbortSignal-impl.js"); -},{"../aborting/AbortSignal-impl.js":350,"./EventHandlerNonNull.js":427,"./EventTarget.js":432,"./utils.js":591,"webidl-conversions":1075}],393:[function(require,module,exports){ +},{"../aborting/AbortSignal-impl.js":354,"./EventHandlerNonNull.js":431,"./EventTarget.js":436,"./utils.js":595,"webidl-conversions":1079}],397:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -82911,7 +82973,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../range/AbstractRange-impl.js"); -},{"../range/AbstractRange-impl.js":749,"./utils.js":591,"webidl-conversions":1075}],394:[function(require,module,exports){ +},{"../range/AbstractRange-impl.js":753,"./utils.js":595,"webidl-conversions":1079}],398:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -82957,7 +83019,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventListenerOptions.js":430,"./utils.js":591,"webidl-conversions":1075}],395:[function(require,module,exports){ +},{"./EventListenerOptions.js":434,"./utils.js":595,"webidl-conversions":1079}],399:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -82987,7 +83049,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./utils.js":591,"webidl-conversions":1075}],396:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],400:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -83204,7 +83266,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../attributes/Attr-impl.js"); -},{"../attributes/Attr-impl.js":352,"../helpers/custom-elements.js":596,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],397:[function(require,module,exports){ +},{"../attributes/Attr-impl.js":356,"../helpers/custom-elements.js":600,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],401:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -83324,7 +83386,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../window/BarProp-impl.js"); -},{"../window/BarProp-impl.js":763,"./utils.js":591,"webidl-conversions":1075}],398:[function(require,module,exports){ +},{"../window/BarProp-impl.js":767,"./utils.js":595,"webidl-conversions":1079}],402:[function(require,module,exports){ "use strict"; const enumerationValues = new Set(["blob", "arraybuffer"]); @@ -83338,7 +83400,7 @@ exports.convert = function convert(value, { context = "The provided value" } = { return string; }; -},{}],399:[function(require,module,exports){ +},{}],403:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -83538,7 +83600,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../file-api/Blob-impl.js"); -},{"../file-api/Blob-impl.js":387,"./BlobPropertyBag.js":401,"./utils.js":591,"webidl-conversions":1075}],400:[function(require,module,exports){ +},{"../file-api/Blob-impl.js":391,"./BlobPropertyBag.js":405,"./utils.js":595,"webidl-conversions":1079}],404:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -83574,7 +83636,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => { return invokeTheCallbackFunction; }; -},{"./utils.js":591,"webidl-conversions":1075}],401:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],405:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -83618,7 +83680,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EndingType.js":423,"./utils.js":591,"webidl-conversions":1075}],402:[function(require,module,exports){ +},{"./EndingType.js":427,"./utils.js":595,"webidl-conversions":1079}],406:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -83734,7 +83796,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/CDATASection-impl.js"); -},{"../nodes/CDATASection-impl.js":643,"./Text.js":574,"./utils.js":591,"webidl-conversions":1075}],403:[function(require,module,exports){ +},{"../nodes/CDATASection-impl.js":647,"./Text.js":578,"./utils.js":595,"webidl-conversions":1079}],407:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -84172,7 +84234,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/CharacterData-impl.js"); -},{"../helpers/custom-elements.js":596,"../nodes/CharacterData-impl.js":644,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],404:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../nodes/CharacterData-impl.js":648,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],408:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -84338,7 +84400,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/CloseEvent-impl.js"); -},{"../events/CloseEvent-impl.js":364,"./CloseEventInit.js":405,"./Event.js":426,"./utils.js":591,"webidl-conversions":1075}],405:[function(require,module,exports){ +},{"../events/CloseEvent-impl.js":368,"./CloseEventInit.js":409,"./Event.js":430,"./utils.js":595,"webidl-conversions":1079}],409:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -84396,7 +84458,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],406:[function(require,module,exports){ +},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],410:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -84520,7 +84582,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/Comment-impl.js"); -},{"../nodes/Comment-impl.js":646,"./CharacterData.js":403,"./utils.js":591,"webidl-conversions":1075}],407:[function(require,module,exports){ +},{"../nodes/Comment-impl.js":650,"./CharacterData.js":407,"./utils.js":595,"webidl-conversions":1079}],411:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -84739,7 +84801,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/CompositionEvent-impl.js"); -},{"../events/CompositionEvent-impl.js":365,"./CompositionEventInit.js":408,"./UIEvent.js":579,"./utils.js":591,"webidl-conversions":1075}],408:[function(require,module,exports){ +},{"../events/CompositionEvent-impl.js":369,"./CompositionEventInit.js":412,"./UIEvent.js":583,"./utils.js":595,"webidl-conversions":1079}],412:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -84773,7 +84835,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./UIEventInit.js":580,"./utils.js":591,"webidl-conversions":1075}],409:[function(require,module,exports){ +},{"./UIEventInit.js":584,"./utils.js":595,"webidl-conversions":1079}],413:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -84813,7 +84875,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => { return invokeTheCallbackFunction; }; -},{"./utils.js":591,"webidl-conversions":1075}],410:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],414:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -85057,7 +85119,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../custom-elements/CustomElementRegistry-impl.js"); -},{"../custom-elements/CustomElementRegistry-impl.js":357,"../helpers/custom-elements.js":596,"./CustomElementConstructor.js":409,"./ElementDefinitionOptions.js":422,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],411:[function(require,module,exports){ +},{"../custom-elements/CustomElementRegistry-impl.js":361,"../helpers/custom-elements.js":600,"./CustomElementConstructor.js":413,"./ElementDefinitionOptions.js":426,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],415:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -85259,7 +85321,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/CustomEvent-impl.js"); -},{"../events/CustomEvent-impl.js":366,"./CustomEventInit.js":412,"./Event.js":426,"./utils.js":591,"webidl-conversions":1075}],412:[function(require,module,exports){ +},{"../events/CustomEvent-impl.js":370,"./CustomEventInit.js":416,"./Event.js":430,"./utils.js":595,"webidl-conversions":1079}],416:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -85293,7 +85355,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],413:[function(require,module,exports){ +},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],417:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -85527,7 +85589,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/DOMImplementation-impl.js"); -},{"../nodes/DOMImplementation-impl.js":647,"./DocumentType.js":419,"./utils.js":591,"webidl-conversions":1075}],414:[function(require,module,exports){ +},{"../nodes/DOMImplementation-impl.js":651,"./DocumentType.js":423,"./utils.js":595,"webidl-conversions":1079}],418:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -85669,7 +85731,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../domparsing/DOMParser-impl.js"); -},{"../domparsing/DOMParser-impl.js":359,"./SupportedType.js":573,"./utils.js":591,"webidl-conversions":1075}],415:[function(require,module,exports){ +},{"../domparsing/DOMParser-impl.js":363,"./SupportedType.js":577,"./utils.js":595,"webidl-conversions":1079}],419:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -85993,7 +86055,7 @@ class ProxyHandler { const Impl = require("../nodes/DOMStringMap-impl.js"); -},{"../helpers/custom-elements.js":596,"../nodes/DOMStringMap-impl.js":648,"./utils.js":591,"webidl-conversions":1075}],416:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../nodes/DOMStringMap-impl.js":652,"./utils.js":595,"webidl-conversions":1079}],420:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -86526,7 +86588,7 @@ const proxyHandler = { const Impl = require("../nodes/DOMTokenList-impl.js"); -},{"../helpers/custom-elements.js":596,"../nodes/DOMTokenList-impl.js":649,"./utils.js":591,"webidl-conversions":1075}],417:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../nodes/DOMTokenList-impl.js":653,"./utils.js":595,"webidl-conversions":1079}],421:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -89850,7 +89912,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/Document-impl.js"); -},{"../helpers/custom-elements.js":596,"../nodes/Document-impl.js":650,"./ElementCreationOptions.js":421,"./EventHandlerNonNull.js":427,"./HTMLElement.js":459,"./Node.js":537,"./NodeFilter.js":538,"./OnErrorEventHandlerNonNull.js":542,"./utils.js":591,"webidl-conversions":1075}],418:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../nodes/Document-impl.js":654,"./ElementCreationOptions.js":425,"./EventHandlerNonNull.js":431,"./HTMLElement.js":463,"./Node.js":541,"./NodeFilter.js":542,"./OnErrorEventHandlerNonNull.js":546,"./utils.js":595,"webidl-conversions":1079}],422:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -90177,7 +90239,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/DocumentFragment-impl.js"); -},{"../helpers/custom-elements.js":596,"../nodes/DocumentFragment-impl.js":651,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],419:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../nodes/DocumentFragment-impl.js":655,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],423:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -90425,7 +90487,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/DocumentType-impl.js"); -},{"../helpers/custom-elements.js":596,"../nodes/DocumentType-impl.js":653,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],420:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../nodes/DocumentType-impl.js":657,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],424:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -92036,7 +92098,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/Element-impl.js"); -},{"../helpers/custom-elements.js":596,"../nodes/Element-impl.js":654,"./Attr.js":396,"./Node.js":537,"./ShadowRootInit.js":565,"./utils.js":591,"webidl-conversions":1075}],421:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../nodes/Element-impl.js":658,"./Attr.js":400,"./Node.js":541,"./ShadowRootInit.js":569,"./utils.js":595,"webidl-conversions":1079}],425:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -92064,7 +92126,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./utils.js":591,"webidl-conversions":1075}],422:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],426:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -92092,7 +92154,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./utils.js":591,"webidl-conversions":1075}],423:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],427:[function(require,module,exports){ "use strict"; const enumerationValues = new Set(["transparent", "native"]); @@ -92106,7 +92168,7 @@ exports.convert = function convert(value, { context = "The provided value" } = { return string; }; -},{}],424:[function(require,module,exports){ +},{}],428:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -92294,7 +92356,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/ErrorEvent-impl.js"); -},{"../events/ErrorEvent-impl.js":367,"./ErrorEventInit.js":425,"./Event.js":426,"./utils.js":591,"webidl-conversions":1075}],425:[function(require,module,exports){ +},{"../events/ErrorEvent-impl.js":371,"./ErrorEventInit.js":429,"./Event.js":430,"./utils.js":595,"webidl-conversions":1079}],429:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -92376,7 +92438,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],426:[function(require,module,exports){ +},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],430:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -92768,7 +92830,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/Event-impl.js"); -},{"../events/Event-impl.js":368,"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],427:[function(require,module,exports){ +},{"../events/Event-impl.js":372,"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],431:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -92810,7 +92872,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => { return invokeTheCallbackFunction; }; -},{"./utils.js":591,"webidl-conversions":1075}],428:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],432:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -92864,7 +92926,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./utils.js":591,"webidl-conversions":1075}],429:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],433:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -92901,7 +92963,7 @@ exports.convert = function convert(value, { context = "The provided value" } = { exports.install = (globalObject, globalNames) => {}; -},{"./utils.js":591,"webidl-conversions":1075}],430:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],434:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -92931,7 +92993,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./utils.js":591,"webidl-conversions":1075}],431:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],435:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -93121,7 +93183,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./UIEventInit.js":580,"./utils.js":591,"webidl-conversions":1075}],432:[function(require,module,exports){ +},{"./UIEventInit.js":584,"./utils.js":595,"webidl-conversions":1079}],436:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -93375,7 +93437,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/EventTarget-impl.js"); -},{"../events/EventTarget-impl.js":370,"./AddEventListenerOptions.js":394,"./Event.js":426,"./EventListener.js":429,"./EventListenerOptions.js":430,"./utils.js":591,"webidl-conversions":1075}],433:[function(require,module,exports){ +},{"../events/EventTarget-impl.js":374,"./AddEventListenerOptions.js":398,"./Event.js":430,"./EventListener.js":433,"./EventListenerOptions.js":434,"./utils.js":595,"webidl-conversions":1079}],437:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -93506,7 +93568,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../window/External-impl.js"); -},{"../window/External-impl.js":764,"./utils.js":591,"webidl-conversions":1075}],434:[function(require,module,exports){ +},{"../window/External-impl.js":768,"./utils.js":595,"webidl-conversions":1079}],438:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -93684,7 +93746,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../file-api/File-impl.js"); -},{"../file-api/File-impl.js":388,"./Blob.js":399,"./FilePropertyBag.js":436,"./utils.js":591,"webidl-conversions":1075}],435:[function(require,module,exports){ +},{"../file-api/File-impl.js":392,"./Blob.js":403,"./FilePropertyBag.js":440,"./utils.js":595,"webidl-conversions":1079}],439:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -93991,7 +94053,7 @@ const proxyHandler = { const Impl = require("../file-api/FileList-impl.js"); -},{"../file-api/FileList-impl.js":389,"./utils.js":591,"webidl-conversions":1075}],436:[function(require,module,exports){ +},{"../file-api/FileList-impl.js":393,"./utils.js":595,"webidl-conversions":1079}],440:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -94023,7 +94085,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./BlobPropertyBag.js":401,"./utils.js":591,"webidl-conversions":1075}],437:[function(require,module,exports){ +},{"./BlobPropertyBag.js":405,"./utils.js":595,"webidl-conversions":1079}],441:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -94465,7 +94527,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../file-api/FileReader-impl.js"); -},{"../file-api/FileReader-impl.js":390,"./Blob.js":399,"./EventHandlerNonNull.js":427,"./EventTarget.js":432,"./utils.js":591,"webidl-conversions":1075}],438:[function(require,module,exports){ +},{"../file-api/FileReader-impl.js":394,"./Blob.js":403,"./EventHandlerNonNull.js":431,"./EventTarget.js":436,"./utils.js":595,"webidl-conversions":1079}],442:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -94609,7 +94671,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/FocusEvent-impl.js"); -},{"../events/FocusEvent-impl.js":371,"./FocusEventInit.js":439,"./UIEvent.js":579,"./utils.js":591,"webidl-conversions":1075}],439:[function(require,module,exports){ +},{"../events/FocusEvent-impl.js":375,"./FocusEventInit.js":443,"./UIEvent.js":583,"./utils.js":595,"webidl-conversions":1079}],443:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -94647,7 +94709,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventTarget.js":432,"./UIEventInit.js":580,"./utils.js":591,"webidl-conversions":1075}],440:[function(require,module,exports){ +},{"./EventTarget.js":436,"./UIEventInit.js":584,"./utils.js":595,"webidl-conversions":1079}],444:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -95070,7 +95132,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../xhr/FormData-impl.js"); -},{"../xhr/FormData-impl.js":770,"./Blob.js":399,"./Function.js":441,"./HTMLFormElement.js":463,"./utils.js":591,"webidl-conversions":1075}],441:[function(require,module,exports){ +},{"../xhr/FormData-impl.js":774,"./Blob.js":403,"./Function.js":445,"./HTMLFormElement.js":467,"./utils.js":595,"webidl-conversions":1079}],445:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -95118,7 +95180,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => { return invokeTheCallbackFunction; }; -},{"./utils.js":591,"webidl-conversions":1075}],442:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],446:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -95148,7 +95210,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./utils.js":591,"webidl-conversions":1075}],443:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],447:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -96065,7 +96127,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLAnchorElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLAnchorElement-impl.js":657,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],444:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLAnchorElement-impl.js":661,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],448:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -96806,7 +96868,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLAreaElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLAreaElement-impl.js":658,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],445:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLAreaElement-impl.js":662,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],449:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -96923,7 +96985,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLAudioElement-impl.js"); -},{"../helpers/html-constructor.js":603,"../nodes/HTMLAudioElement-impl.js":659,"./HTMLMediaElement.js":479,"./utils.js":591,"webidl-conversions":1075}],446:[function(require,module,exports){ +},{"../helpers/html-constructor.js":607,"../nodes/HTMLAudioElement-impl.js":663,"./HTMLMediaElement.js":483,"./utils.js":595,"webidl-conversions":1079}],450:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -97078,7 +97140,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLBRElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLBRElement-impl.js":660,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],447:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLBRElement-impl.js":664,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],451:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -97268,7 +97330,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLBaseElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLBaseElement-impl.js":661,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],448:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLBaseElement-impl.js":665,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],452:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -98078,7 +98140,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLBodyElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLBodyElement-impl.js":662,"./EventHandlerNonNull.js":427,"./HTMLElement.js":459,"./OnBeforeUnloadEventHandlerNonNull.js":541,"./utils.js":591,"webidl-conversions":1075}],449:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLBodyElement-impl.js":666,"./EventHandlerNonNull.js":431,"./HTMLElement.js":463,"./OnBeforeUnloadEventHandlerNonNull.js":545,"./utils.js":595,"webidl-conversions":1079}],453:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -98567,7 +98629,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLButtonElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLButtonElement-impl.js":663,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],450:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLButtonElement-impl.js":667,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],454:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -98860,7 +98922,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLCanvasElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLCanvasElement-impl.js":664,"./BlobCallback.js":400,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],451:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLCanvasElement-impl.js":668,"./BlobCallback.js":404,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],455:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -99220,7 +99282,7 @@ const proxyHandler = { const Impl = require("../nodes/HTMLCollection-impl.js"); -},{"../nodes/HTMLCollection-impl.js":665,"./utils.js":591,"webidl-conversions":1075}],452:[function(require,module,exports){ +},{"../nodes/HTMLCollection-impl.js":669,"./utils.js":595,"webidl-conversions":1079}],456:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -99378,7 +99440,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLDListElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLDListElement-impl.js":666,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],453:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLDListElement-impl.js":670,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],457:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -99533,7 +99595,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLDataElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLDataElement-impl.js":667,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],454:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLDataElement-impl.js":671,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],458:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -99663,7 +99725,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLDataListElement-impl.js"); -},{"../helpers/html-constructor.js":603,"../nodes/HTMLDataListElement-impl.js":668,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],455:[function(require,module,exports){ +},{"../helpers/html-constructor.js":607,"../nodes/HTMLDataListElement-impl.js":672,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],459:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -99821,7 +99883,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLDetailsElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLDetailsElement-impl.js":669,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],456:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLDetailsElement-impl.js":673,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],460:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -99979,7 +100041,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLDialogElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLDialogElement-impl.js":670,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],457:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLDialogElement-impl.js":674,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],461:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -100137,7 +100199,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLDirectoryElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLDirectoryElement-impl.js":671,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],458:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLDirectoryElement-impl.js":675,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],462:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -100292,7 +100354,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLDivElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLDivElement-impl.js":672,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],459:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLDivElement-impl.js":676,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],463:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -102563,7 +102625,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLElement-impl.js":673,"./Element.js":420,"./EventHandlerNonNull.js":427,"./OnErrorEventHandlerNonNull.js":542,"./utils.js":591,"webidl-conversions":1075}],460:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLElement-impl.js":677,"./Element.js":424,"./EventHandlerNonNull.js":431,"./OnErrorEventHandlerNonNull.js":546,"./utils.js":595,"webidl-conversions":1079}],464:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -102911,7 +102973,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLEmbedElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLEmbedElement-impl.js":674,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],461:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLEmbedElement-impl.js":678,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],465:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -103228,7 +103290,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLFieldSetElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLFieldSetElement-impl.js":675,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],462:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLFieldSetElement-impl.js":679,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],466:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -103456,7 +103518,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLFontElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLFontElement-impl.js":676,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],463:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLFontElement-impl.js":680,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],467:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -103915,7 +103977,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLFormElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLFormElement-impl.js":677,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],464:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLFormElement-impl.js":681,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],468:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -104376,7 +104438,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLFrameElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLFrameElement-impl.js":678,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],465:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLFrameElement-impl.js":682,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],469:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -105061,7 +105123,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLFrameSetElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLFrameSetElement-impl.js":679,"./EventHandlerNonNull.js":427,"./HTMLElement.js":459,"./OnBeforeUnloadEventHandlerNonNull.js":541,"./utils.js":591,"webidl-conversions":1075}],466:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLFrameSetElement-impl.js":683,"./EventHandlerNonNull.js":431,"./HTMLElement.js":463,"./OnBeforeUnloadEventHandlerNonNull.js":545,"./utils.js":595,"webidl-conversions":1079}],470:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -105363,7 +105425,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLHRElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLHRElement-impl.js":680,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],467:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLHRElement-impl.js":684,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],471:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -105480,7 +105542,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLHeadElement-impl.js"); -},{"../helpers/html-constructor.js":603,"../nodes/HTMLHeadElement-impl.js":681,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],468:[function(require,module,exports){ +},{"../helpers/html-constructor.js":607,"../nodes/HTMLHeadElement-impl.js":685,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],472:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -105635,7 +105697,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLHeadingElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLHeadingElement-impl.js":682,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],469:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLHeadingElement-impl.js":686,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],473:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -105790,7 +105852,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLHtmlElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLHtmlElement-impl.js":683,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],470:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLHtmlElement-impl.js":687,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],474:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -106413,7 +106475,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLIFrameElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLIFrameElement-impl.js":685,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],471:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLIFrameElement-impl.js":689,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],475:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -107204,7 +107266,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLImageElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLImageElement-impl.js":686,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],472:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLImageElement-impl.js":690,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],476:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -108902,7 +108964,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLInputElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLInputElement-impl.js":687,"./FileList.js":435,"./HTMLElement.js":459,"./SelectionMode.js":563,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],473:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLInputElement-impl.js":691,"./FileList.js":439,"./HTMLElement.js":463,"./SelectionMode.js":567,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],477:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -109098,7 +109160,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLLIElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLLIElement-impl.js":688,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],474:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLLIElement-impl.js":692,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],478:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -109275,7 +109337,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLLabelElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLLabelElement-impl.js":689,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],475:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLLabelElement-impl.js":693,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],479:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -109441,7 +109503,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLLegendElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLLegendElement-impl.js":690,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],476:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLLegendElement-impl.js":694,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],480:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -109939,7 +110001,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLLinkElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLLinkElement-impl.js":691,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],477:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLLinkElement-impl.js":695,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],481:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -110107,7 +110169,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLMapElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLMapElement-impl.js":692,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],478:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLMapElement-impl.js":696,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],482:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -110618,7 +110680,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLMarqueeElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLMarqueeElement-impl.js":693,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],479:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLMarqueeElement-impl.js":697,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],483:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -111422,7 +111484,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLMediaElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../nodes/HTMLMediaElement-impl.js":694,"./HTMLElement.js":459,"./TextTrackKind.js":575,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],480:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../nodes/HTMLMediaElement-impl.js":698,"./HTMLElement.js":463,"./TextTrackKind.js":579,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],484:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -111580,7 +111642,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLMenuElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLMenuElement-impl.js":695,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],481:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLMenuElement-impl.js":699,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],485:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -111843,7 +111905,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLMetaElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLMetaElement-impl.js":696,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],482:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLMetaElement-impl.js":700,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],486:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -112183,7 +112245,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLMeterElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLMeterElement-impl.js":697,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],483:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLMeterElement-impl.js":701,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],487:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -112387,7 +112449,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLModElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLModElement-impl.js":698,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],484:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLModElement-impl.js":702,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],488:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -112655,7 +112717,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLOListElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLOListElement-impl.js":699,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],485:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLOListElement-impl.js":703,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],489:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -113496,7 +113558,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLObjectElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLObjectElement-impl.js":700,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],486:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLObjectElement-impl.js":704,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],490:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -113690,7 +113752,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLOptGroupElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLOptGroupElement-impl.js":701,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],487:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLOptGroupElement-impl.js":705,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],491:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -114043,7 +114105,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLOptionElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLOptionElement-impl.js":702,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],488:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLOptionElement-impl.js":706,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],492:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -114578,7 +114640,7 @@ class ProxyHandler { const Impl = require("../nodes/HTMLOptionsCollection-impl.js"); -},{"../helpers/custom-elements.js":596,"../nodes/HTMLOptionsCollection-impl.js":703,"./HTMLCollection.js":451,"./HTMLElement.js":459,"./HTMLOptGroupElement.js":486,"./HTMLOptionElement.js":487,"./utils.js":591,"webidl-conversions":1075}],489:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../nodes/HTMLOptionsCollection-impl.js":707,"./HTMLCollection.js":455,"./HTMLElement.js":463,"./HTMLOptGroupElement.js":490,"./HTMLOptionElement.js":491,"./utils.js":595,"webidl-conversions":1079}],493:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -114951,7 +115013,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLOutputElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLOutputElement-impl.js":705,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],490:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLOutputElement-impl.js":709,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],494:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -115106,7 +115168,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLParagraphElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLParagraphElement-impl.js":706,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],491:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLParagraphElement-impl.js":710,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],495:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -115369,7 +115431,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLParamElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLParamElement-impl.js":707,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],492:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLParamElement-impl.js":711,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],496:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -115486,7 +115548,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLPictureElement-impl.js"); -},{"../helpers/html-constructor.js":603,"../nodes/HTMLPictureElement-impl.js":708,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],493:[function(require,module,exports){ +},{"../helpers/html-constructor.js":607,"../nodes/HTMLPictureElement-impl.js":712,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],497:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -115646,7 +115708,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLPreElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLPreElement-impl.js":709,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],494:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLPreElement-impl.js":713,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],498:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -115857,7 +115919,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLProgressElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLProgressElement-impl.js":710,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],495:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLProgressElement-impl.js":714,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],499:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -116025,7 +116087,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLQuoteElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLQuoteElement-impl.js":711,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],496:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLQuoteElement-impl.js":715,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],500:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -116451,7 +116513,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLScriptElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLScriptElement-impl.js":712,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],497:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLScriptElement-impl.js":716,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],501:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -117410,7 +117472,7 @@ class ProxyHandler { const Impl = require("../nodes/HTMLSelectElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLSelectElement-impl.js":713,"./HTMLElement.js":459,"./HTMLOptGroupElement.js":486,"./HTMLOptionElement.js":487,"./utils.js":591,"webidl-conversions":1075}],498:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLSelectElement-impl.js":717,"./HTMLElement.js":463,"./HTMLOptGroupElement.js":490,"./HTMLOptionElement.js":491,"./utils.js":595,"webidl-conversions":1079}],502:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -117600,7 +117662,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLSlotElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLSlotElement-impl.js":714,"./AssignedNodesOptions.js":395,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],499:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLSlotElement-impl.js":718,"./AssignedNodesOptions.js":399,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],503:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -117912,7 +117974,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLSourceElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLSourceElement-impl.js":715,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],500:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLSourceElement-impl.js":719,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],504:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -118029,7 +118091,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLSpanElement-impl.js"); -},{"../helpers/html-constructor.js":603,"../nodes/HTMLSpanElement-impl.js":716,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],501:[function(require,module,exports){ +},{"../helpers/html-constructor.js":607,"../nodes/HTMLSpanElement-impl.js":720,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],505:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -118231,7 +118293,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLStyleElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLStyleElement-impl.js":717,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],502:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLStyleElement-impl.js":721,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],506:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -118386,7 +118448,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLTableCaptionElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTableCaptionElement-impl.js":718,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],503:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTableCaptionElement-impl.js":722,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],507:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -119023,7 +119085,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLTableCellElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTableCellElement-impl.js":719,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],504:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTableCellElement-impl.js":723,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],508:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -119364,7 +119426,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLTableColElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLTableColElement-impl.js":720,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],505:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLTableColElement-impl.js":724,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],509:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -120091,7 +120153,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLTableElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTableElement-impl.js":721,"./HTMLElement.js":459,"./HTMLTableCaptionElement.js":502,"./HTMLTableSectionElement.js":507,"./utils.js":591,"webidl-conversions":1075}],506:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTableElement-impl.js":725,"./HTMLElement.js":463,"./HTMLTableCaptionElement.js":506,"./HTMLTableSectionElement.js":511,"./utils.js":595,"webidl-conversions":1079}],510:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -120479,7 +120541,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLTableRowElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTableRowElement-impl.js":722,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],507:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTableRowElement-impl.js":726,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],511:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -120810,7 +120872,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLTableSectionElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTableSectionElement-impl.js":723,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],508:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTableSectionElement-impl.js":727,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],512:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -120938,7 +121000,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLTemplateElement-impl.js"); -},{"../helpers/html-constructor.js":603,"../nodes/HTMLTemplateElement-impl.js":724,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],509:[function(require,module,exports){ +},{"../helpers/html-constructor.js":607,"../nodes/HTMLTemplateElement-impl.js":728,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],513:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -122028,7 +122090,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLTextAreaElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLTextAreaElement-impl.js":725,"./HTMLElement.js":459,"./SelectionMode.js":563,"./utils.js":591,"webidl-conversions":1075}],510:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLTextAreaElement-impl.js":729,"./HTMLElement.js":463,"./SelectionMode.js":567,"./utils.js":595,"webidl-conversions":1079}],514:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -122183,7 +122245,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLTimeElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTimeElement-impl.js":726,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],511:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTimeElement-impl.js":730,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],515:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -122337,7 +122399,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLTitleElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTitleElement-impl.js":727,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],512:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTitleElement-impl.js":731,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],516:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -122673,7 +122735,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLTrackElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLTrackElement-impl.js":728,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],513:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLTrackElement-impl.js":732,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],517:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -122867,7 +122929,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLUListElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLUListElement-impl.js":729,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],514:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLUListElement-impl.js":733,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],518:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -122983,7 +123045,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLUnknownElement-impl.js"); -},{"../nodes/HTMLUnknownElement-impl.js":730,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],515:[function(require,module,exports){ +},{"../nodes/HTMLUnknownElement-impl.js":734,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],519:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -123295,7 +123357,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/HTMLVideoElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLVideoElement-impl.js":731,"./HTMLMediaElement.js":479,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],516:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLVideoElement-impl.js":735,"./HTMLMediaElement.js":483,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],520:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -123450,7 +123512,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/HashChangeEvent-impl.js"); -},{"../events/HashChangeEvent-impl.js":372,"./Event.js":426,"./HashChangeEventInit.js":517,"./utils.js":591,"webidl-conversions":1075}],517:[function(require,module,exports){ +},{"../events/HashChangeEvent-impl.js":376,"./Event.js":430,"./HashChangeEventInit.js":521,"./utils.js":595,"webidl-conversions":1079}],521:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -123496,7 +123558,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],518:[function(require,module,exports){ +},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],522:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -123877,7 +123939,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../fetch/Headers-impl.js"); -},{"../fetch/Headers-impl.js":384,"./Function.js":441,"./utils.js":591,"webidl-conversions":1075}],519:[function(require,module,exports){ +},{"../fetch/Headers-impl.js":388,"./Function.js":445,"./utils.js":595,"webidl-conversions":1079}],523:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -124135,7 +124197,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../window/History-impl.js"); -},{"../window/History-impl.js":765,"./utils.js":591,"webidl-conversions":1075}],520:[function(require,module,exports){ +},{"../window/History-impl.js":769,"./utils.js":595,"webidl-conversions":1079}],524:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -124301,7 +124363,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/InputEvent-impl.js"); -},{"../events/InputEvent-impl.js":373,"./InputEventInit.js":521,"./UIEvent.js":579,"./utils.js":591,"webidl-conversions":1075}],521:[function(require,module,exports){ +},{"../events/InputEvent-impl.js":377,"./InputEventInit.js":525,"./UIEvent.js":583,"./utils.js":595,"webidl-conversions":1079}],525:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -124362,7 +124424,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./UIEventInit.js":580,"./utils.js":591,"webidl-conversions":1075}],522:[function(require,module,exports){ +},{"./UIEventInit.js":584,"./utils.js":595,"webidl-conversions":1079}],526:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -124777,7 +124839,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/KeyboardEvent-impl.js"); -},{"../events/KeyboardEvent-impl.js":374,"./KeyboardEventInit.js":523,"./UIEvent.js":579,"./utils.js":591,"webidl-conversions":1075}],523:[function(require,module,exports){ +},{"../events/KeyboardEvent-impl.js":378,"./KeyboardEventInit.js":527,"./UIEvent.js":583,"./utils.js":595,"webidl-conversions":1079}],527:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -124883,7 +124945,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventModifierInit.js":431,"./utils.js":591,"webidl-conversions":1075}],524:[function(require,module,exports){ +},{"./EventModifierInit.js":435,"./utils.js":595,"webidl-conversions":1079}],528:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -125255,7 +125317,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../window/Location-impl.js"); -},{"../window/Location-impl.js":766,"./utils.js":591,"webidl-conversions":1075}],525:[function(require,module,exports){ +},{"../window/Location-impl.js":770,"./utils.js":595,"webidl-conversions":1079}],529:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -125558,7 +125620,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/MessageEvent-impl.js"); -},{"../events/MessageEvent-impl.js":375,"./Event.js":426,"./MessageEventInit.js":526,"./utils.js":591,"webidl-conversions":1075}],526:[function(require,module,exports){ +},{"../events/MessageEvent-impl.js":379,"./Event.js":430,"./MessageEventInit.js":530,"./utils.js":595,"webidl-conversions":1079}],530:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -125654,7 +125716,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],527:[function(require,module,exports){ +},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],531:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -125807,7 +125869,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../navigator/MimeType-impl.js"); -},{"../navigator/MimeType-impl.js":629,"./utils.js":591,"webidl-conversions":1075}],528:[function(require,module,exports){ +},{"../navigator/MimeType-impl.js":633,"./utils.js":595,"webidl-conversions":1079}],532:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -126139,7 +126201,7 @@ const proxyHandler = { const Impl = require("../navigator/MimeTypeArray-impl.js"); -},{"../navigator/MimeTypeArray-impl.js":630,"./utils.js":591,"webidl-conversions":1075}],529:[function(require,module,exports){ +},{"../navigator/MimeTypeArray-impl.js":634,"./utils.js":595,"webidl-conversions":1079}],533:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -126604,7 +126666,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/MouseEvent-impl.js"); -},{"../events/MouseEvent-impl.js":376,"./EventTarget.js":432,"./MouseEventInit.js":530,"./UIEvent.js":579,"./utils.js":591,"webidl-conversions":1075}],530:[function(require,module,exports){ +},{"../events/MouseEvent-impl.js":380,"./EventTarget.js":436,"./MouseEventInit.js":534,"./UIEvent.js":583,"./utils.js":595,"webidl-conversions":1079}],534:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -126714,7 +126776,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventModifierInit.js":431,"./EventTarget.js":432,"./utils.js":591,"webidl-conversions":1075}],531:[function(require,module,exports){ +},{"./EventModifierInit.js":435,"./EventTarget.js":436,"./utils.js":595,"webidl-conversions":1079}],535:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -126754,7 +126816,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => { return invokeTheCallbackFunction; }; -},{"./utils.js":591,"webidl-conversions":1075}],532:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],536:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -126927,7 +126989,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../mutation-observer/MutationObserver-impl.js"); -},{"../mutation-observer/MutationObserver-impl.js":626,"./MutationCallback.js":531,"./MutationObserverInit.js":533,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],533:[function(require,module,exports){ +},{"../mutation-observer/MutationObserver-impl.js":630,"./MutationCallback.js":535,"./MutationObserverInit.js":537,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],537:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -127032,7 +127094,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./utils.js":591,"webidl-conversions":1075}],534:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],538:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -127250,7 +127312,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../mutation-observer/MutationRecord-impl.js"); -},{"../mutation-observer/MutationRecord-impl.js":627,"./utils.js":591,"webidl-conversions":1075}],535:[function(require,module,exports){ +},{"../mutation-observer/MutationRecord-impl.js":631,"./utils.js":595,"webidl-conversions":1079}],539:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -127774,7 +127836,7 @@ const proxyHandler = { const Impl = require("../attributes/NamedNodeMap-impl.js"); -},{"../attributes/NamedNodeMap-impl.js":353,"../helpers/custom-elements.js":596,"./Attr.js":396,"./utils.js":591,"webidl-conversions":1075}],536:[function(require,module,exports){ +},{"../attributes/NamedNodeMap-impl.js":357,"../helpers/custom-elements.js":600,"./Attr.js":400,"./utils.js":595,"webidl-conversions":1079}],540:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -128073,7 +128135,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../navigator/Navigator-impl.js"); -},{"../navigator/Navigator-impl.js":631,"./utils.js":591,"webidl-conversions":1075}],537:[function(require,module,exports){ +},{"../navigator/Navigator-impl.js":635,"./utils.js":595,"webidl-conversions":1079}],541:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -128811,7 +128873,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/Node-impl.js"); -},{"../helpers/custom-elements.js":596,"../nodes/Node-impl.js":732,"./EventTarget.js":432,"./GetRootNodeOptions.js":442,"./utils.js":591,"webidl-conversions":1075}],538:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../nodes/Node-impl.js":736,"./EventTarget.js":436,"./GetRootNodeOptions.js":446,"./utils.js":595,"webidl-conversions":1079}],542:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -128887,7 +128949,7 @@ exports.install = (globalObject, globalNames) => { }); }; -},{"./utils.js":591,"webidl-conversions":1075}],539:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],543:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -129085,7 +129147,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../traversal/NodeIterator-impl.js"); -},{"../traversal/NodeIterator-impl.js":758,"./utils.js":591,"webidl-conversions":1075}],540:[function(require,module,exports){ +},{"../traversal/NodeIterator-impl.js":762,"./utils.js":595,"webidl-conversions":1079}],544:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -129396,7 +129458,7 @@ const proxyHandler = { const Impl = require("../nodes/NodeList-impl.js"); -},{"../nodes/NodeList-impl.js":733,"./utils.js":591,"webidl-conversions":1075}],541:[function(require,module,exports){ +},{"../nodes/NodeList-impl.js":737,"./utils.js":595,"webidl-conversions":1079}],545:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -129444,7 +129506,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => { return invokeTheCallbackFunction; }; -},{"./utils.js":591,"webidl-conversions":1075}],542:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],546:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -129506,7 +129568,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => { return invokeTheCallbackFunction; }; -},{"./utils.js":591,"webidl-conversions":1075}],543:[function(require,module,exports){ +},{"./utils.js":595,"webidl-conversions":1079}],547:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -129654,7 +129716,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/PageTransitionEvent-impl.js"); -},{"../events/PageTransitionEvent-impl.js":377,"./Event.js":426,"./PageTransitionEventInit.js":544,"./utils.js":591,"webidl-conversions":1075}],544:[function(require,module,exports){ +},{"../events/PageTransitionEvent-impl.js":381,"./Event.js":430,"./PageTransitionEventInit.js":548,"./utils.js":595,"webidl-conversions":1079}],548:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -129688,7 +129750,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],545:[function(require,module,exports){ +},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],549:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -129835,7 +129897,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../hr-time/Performance-impl.js"); -},{"../hr-time/Performance-impl.js":624,"./EventTarget.js":432,"./utils.js":591,"webidl-conversions":1075}],546:[function(require,module,exports){ +},{"../hr-time/Performance-impl.js":628,"./EventTarget.js":436,"./utils.js":595,"webidl-conversions":1079}],550:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -130198,7 +130260,7 @@ const proxyHandler = { const Impl = require("../navigator/Plugin-impl.js"); -},{"../navigator/Plugin-impl.js":638,"./utils.js":591,"webidl-conversions":1075}],547:[function(require,module,exports){ +},{"../navigator/Plugin-impl.js":642,"./utils.js":595,"webidl-conversions":1079}],551:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -130540,7 +130602,7 @@ const proxyHandler = { const Impl = require("../navigator/PluginArray-impl.js"); -},{"../navigator/PluginArray-impl.js":639,"./utils.js":591,"webidl-conversions":1075}],548:[function(require,module,exports){ +},{"../navigator/PluginArray-impl.js":643,"./utils.js":595,"webidl-conversions":1079}],552:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -130684,7 +130746,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/PopStateEvent-impl.js"); -},{"../events/PopStateEvent-impl.js":378,"./Event.js":426,"./PopStateEventInit.js":549,"./utils.js":591,"webidl-conversions":1075}],549:[function(require,module,exports){ +},{"../events/PopStateEvent-impl.js":382,"./Event.js":430,"./PopStateEventInit.js":553,"./utils.js":595,"webidl-conversions":1079}],553:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -130718,7 +130780,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],550:[function(require,module,exports){ +},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],554:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -130845,7 +130907,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/ProcessingInstruction-impl.js"); -},{"../nodes/ProcessingInstruction-impl.js":737,"./CharacterData.js":403,"./utils.js":591,"webidl-conversions":1075}],551:[function(require,module,exports){ +},{"../nodes/ProcessingInstruction-impl.js":741,"./CharacterData.js":407,"./utils.js":595,"webidl-conversions":1079}],555:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -131013,7 +131075,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/ProgressEvent-impl.js"); -},{"../events/ProgressEvent-impl.js":379,"./Event.js":426,"./ProgressEventInit.js":552,"./utils.js":591,"webidl-conversions":1075}],552:[function(require,module,exports){ +},{"../events/ProgressEvent-impl.js":383,"./Event.js":430,"./ProgressEventInit.js":556,"./utils.js":595,"webidl-conversions":1079}],556:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -131071,7 +131133,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],553:[function(require,module,exports){ +},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],557:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -131692,7 +131754,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../range/Range-impl.js"); -},{"../helpers/custom-elements.js":596,"../range/Range-impl.js":750,"./AbstractRange.js":393,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],554:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../range/Range-impl.js":754,"./AbstractRange.js":397,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],558:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -131837,7 +131899,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../svg/SVGAnimatedString-impl.js"); -},{"../svg/SVGAnimatedString-impl.js":754,"./utils.js":591,"webidl-conversions":1075}],555:[function(require,module,exports){ +},{"../svg/SVGAnimatedString-impl.js":758,"./utils.js":595,"webidl-conversions":1079}],559:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -133825,7 +133887,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/SVGElement-impl.js"); -},{"../helpers/custom-elements.js":596,"../nodes/SVGElement-impl.js":738,"./Element.js":420,"./EventHandlerNonNull.js":427,"./OnErrorEventHandlerNonNull.js":542,"./utils.js":591,"webidl-conversions":1075}],556:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../nodes/SVGElement-impl.js":742,"./Element.js":424,"./EventHandlerNonNull.js":431,"./OnErrorEventHandlerNonNull.js":546,"./utils.js":595,"webidl-conversions":1079}],560:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -133971,7 +134033,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/SVGGraphicsElement-impl.js"); -},{"../nodes/SVGGraphicsElement-impl.js":739,"./SVGElement.js":555,"./utils.js":591,"webidl-conversions":1075}],557:[function(require,module,exports){ +},{"../nodes/SVGGraphicsElement-impl.js":743,"./SVGElement.js":559,"./utils.js":595,"webidl-conversions":1079}],561:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -134103,7 +134165,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../svg/SVGNumber-impl.js"); -},{"../svg/SVGNumber-impl.js":756,"./utils.js":591,"webidl-conversions":1075}],558:[function(require,module,exports){ +},{"../svg/SVGNumber-impl.js":760,"./utils.js":595,"webidl-conversions":1079}],562:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -134786,7 +134848,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/SVGSVGElement-impl.js"); -},{"../nodes/SVGSVGElement-impl.js":740,"./EventHandlerNonNull.js":427,"./OnBeforeUnloadEventHandlerNonNull.js":541,"./SVGGraphicsElement.js":556,"./utils.js":591,"webidl-conversions":1075}],559:[function(require,module,exports){ +},{"../nodes/SVGSVGElement-impl.js":744,"./EventHandlerNonNull.js":431,"./OnBeforeUnloadEventHandlerNonNull.js":545,"./SVGGraphicsElement.js":560,"./utils.js":595,"webidl-conversions":1079}],563:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -135292,7 +135354,7 @@ const proxyHandler = { const Impl = require("../svg/SVGStringList-impl.js"); -},{"../svg/SVGStringList-impl.js":757,"./utils.js":591,"webidl-conversions":1075}],560:[function(require,module,exports){ +},{"../svg/SVGStringList-impl.js":761,"./utils.js":595,"webidl-conversions":1079}],564:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -135408,7 +135470,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/SVGTitleElement-impl.js"); -},{"../nodes/SVGTitleElement-impl.js":742,"./SVGElement.js":555,"./utils.js":591,"webidl-conversions":1075}],561:[function(require,module,exports){ +},{"../nodes/SVGTitleElement-impl.js":746,"./SVGElement.js":559,"./utils.js":595,"webidl-conversions":1079}],565:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -135583,7 +135645,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../window/Screen-impl.js"); -},{"../window/Screen-impl.js":767,"./utils.js":591,"webidl-conversions":1075}],562:[function(require,module,exports){ +},{"../window/Screen-impl.js":771,"./utils.js":595,"webidl-conversions":1079}],566:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -136112,7 +136174,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../selection/Selection-impl.js"); -},{"../helpers/custom-elements.js":596,"../selection/Selection-impl.js":753,"./Node.js":537,"./Range.js":553,"./utils.js":591,"webidl-conversions":1075}],563:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../selection/Selection-impl.js":757,"./Node.js":541,"./Range.js":557,"./utils.js":595,"webidl-conversions":1079}],567:[function(require,module,exports){ "use strict"; const enumerationValues = new Set(["select", "start", "end", "preserve"]); @@ -136126,7 +136188,7 @@ exports.convert = function convert(value, { context = "The provided value" } = { return string; }; -},{}],564:[function(require,module,exports){ +},{}],568:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -136313,7 +136375,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/ShadowRoot-impl.js"); -},{"../helpers/custom-elements.js":596,"../nodes/ShadowRoot-impl.js":743,"./DocumentFragment.js":418,"./utils.js":591,"webidl-conversions":1075}],565:[function(require,module,exports){ +},{"../helpers/custom-elements.js":600,"../nodes/ShadowRoot-impl.js":747,"./DocumentFragment.js":422,"./utils.js":595,"webidl-conversions":1079}],569:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -136345,7 +136407,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./ShadowRootMode.js":566,"./utils.js":591,"webidl-conversions":1075}],566:[function(require,module,exports){ +},{"./ShadowRootMode.js":570,"./utils.js":595,"webidl-conversions":1079}],570:[function(require,module,exports){ "use strict"; const enumerationValues = new Set(["open", "closed"]); @@ -136359,7 +136421,7 @@ exports.convert = function convert(value, { context = "The provided value" } = { return string; }; -},{}],567:[function(require,module,exports){ +},{}],571:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -136487,7 +136549,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../range/StaticRange-impl.js"); -},{"../range/StaticRange-impl.js":751,"./AbstractRange.js":393,"./StaticRangeInit.js":568,"./utils.js":591,"webidl-conversions":1075}],568:[function(require,module,exports){ +},{"../range/StaticRange-impl.js":755,"./AbstractRange.js":397,"./StaticRangeInit.js":572,"./utils.js":595,"webidl-conversions":1079}],572:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -136555,7 +136617,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],569:[function(require,module,exports){ +},{"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],573:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -136946,7 +137008,7 @@ const proxyHandler = { const Impl = require("../webstorage/Storage-impl.js"); -},{"../webstorage/Storage-impl.js":762,"./utils.js":591,"webidl-conversions":1075}],570:[function(require,module,exports){ +},{"../webstorage/Storage-impl.js":766,"./utils.js":595,"webidl-conversions":1079}],574:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -137253,7 +137315,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/StorageEvent-impl.js"); -},{"../events/StorageEvent-impl.js":380,"./Event.js":426,"./Storage.js":569,"./StorageEventInit.js":571,"./utils.js":591,"webidl-conversions":1075}],571:[function(require,module,exports){ +},{"../events/StorageEvent-impl.js":384,"./Event.js":430,"./Storage.js":573,"./StorageEventInit.js":575,"./utils.js":595,"webidl-conversions":1079}],575:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -137348,7 +137410,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventInit.js":428,"./Storage.js":569,"./utils.js":591,"webidl-conversions":1075}],572:[function(require,module,exports){ +},{"./EventInit.js":432,"./Storage.js":573,"./utils.js":595,"webidl-conversions":1079}],576:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -137657,7 +137719,7 @@ const proxyHandler = { const Impl = require("../cssom/StyleSheetList-impl.js"); -},{"../cssom/StyleSheetList-impl.js":356,"./utils.js":591,"webidl-conversions":1075}],573:[function(require,module,exports){ +},{"../cssom/StyleSheetList-impl.js":360,"./utils.js":595,"webidl-conversions":1079}],577:[function(require,module,exports){ "use strict"; const enumerationValues = new Set([ @@ -137677,7 +137739,7 @@ exports.convert = function convert(value, { context = "The provided value" } = { return string; }; -},{}],574:[function(require,module,exports){ +},{}],578:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -137848,7 +137910,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/Text-impl.js"); -},{"../nodes/Text-impl.js":745,"./CharacterData.js":403,"./utils.js":591,"webidl-conversions":1075}],575:[function(require,module,exports){ +},{"../nodes/Text-impl.js":749,"./CharacterData.js":407,"./utils.js":595,"webidl-conversions":1079}],579:[function(require,module,exports){ "use strict"; const enumerationValues = new Set(["subtitles", "captions", "descriptions", "chapters", "metadata"]); @@ -137862,7 +137924,7 @@ exports.convert = function convert(value, { context = "The provided value" } = { return string; }; -},{}],576:[function(require,module,exports){ +},{}],580:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -138072,7 +138134,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/TouchEvent-impl.js"); -},{"../events/TouchEvent-impl.js":381,"./TouchEventInit.js":577,"./UIEvent.js":579,"./utils.js":591,"webidl-conversions":1075}],577:[function(require,module,exports){ +},{"../events/TouchEvent-impl.js":385,"./TouchEventInit.js":581,"./UIEvent.js":583,"./utils.js":595,"webidl-conversions":1079}],581:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -138163,7 +138225,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventModifierInit.js":431,"./utils.js":591,"webidl-conversions":1075}],578:[function(require,module,exports){ +},{"./EventModifierInit.js":435,"./utils.js":595,"webidl-conversions":1079}],582:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -138401,7 +138463,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../traversal/TreeWalker-impl.js"); -},{"../traversal/TreeWalker-impl.js":759,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],579:[function(require,module,exports){ +},{"../traversal/TreeWalker-impl.js":763,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],583:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -138638,7 +138700,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/UIEvent-impl.js"); -},{"../events/UIEvent-impl.js":382,"./Event.js":426,"./UIEventInit.js":580,"./utils.js":591,"webidl-conversions":1075}],580:[function(require,module,exports){ +},{"../events/UIEvent-impl.js":386,"./Event.js":430,"./UIEventInit.js":584,"./utils.js":595,"webidl-conversions":1079}],584:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -138699,7 +138761,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],581:[function(require,module,exports){ +},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],585:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -138929,7 +138991,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../constraint-validation/ValidityState-impl.js"); -},{"../constraint-validation/ValidityState-impl.js":355,"./utils.js":591,"webidl-conversions":1075}],582:[function(require,module,exports){ +},{"../constraint-validation/ValidityState-impl.js":359,"./utils.js":595,"webidl-conversions":1079}],586:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -139375,7 +139437,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../websockets/WebSocket-impl.js"); -},{"../websockets/WebSocket-impl.js":761,"./BinaryType.js":398,"./Blob.js":399,"./EventHandlerNonNull.js":427,"./EventTarget.js":432,"./utils.js":591,"webidl-conversions":1075}],583:[function(require,module,exports){ +},{"../websockets/WebSocket-impl.js":765,"./BinaryType.js":402,"./Blob.js":403,"./EventHandlerNonNull.js":431,"./EventTarget.js":436,"./utils.js":595,"webidl-conversions":1079}],587:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -139560,7 +139622,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../events/WheelEvent-impl.js"); -},{"../events/WheelEvent-impl.js":383,"./MouseEvent.js":529,"./WheelEventInit.js":584,"./utils.js":591,"webidl-conversions":1075}],584:[function(require,module,exports){ +},{"../events/WheelEvent-impl.js":387,"./MouseEvent.js":533,"./WheelEventInit.js":588,"./utils.js":595,"webidl-conversions":1079}],588:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -139630,7 +139692,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {}) return ret; }; -},{"./MouseEventInit.js":530,"./utils.js":591,"webidl-conversions":1075}],585:[function(require,module,exports){ +},{"./MouseEventInit.js":534,"./utils.js":595,"webidl-conversions":1079}],589:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -139746,7 +139808,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../nodes/XMLDocument-impl.js"); -},{"../nodes/XMLDocument-impl.js":747,"./Document.js":417,"./utils.js":591,"webidl-conversions":1075}],586:[function(require,module,exports){ +},{"../nodes/XMLDocument-impl.js":751,"./Document.js":421,"./utils.js":595,"webidl-conversions":1079}],590:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -140365,7 +140427,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../xhr/XMLHttpRequest-impl.js"); -},{"../xhr/XMLHttpRequest-impl.js":771,"./Blob.js":399,"./Document.js":417,"./EventHandlerNonNull.js":427,"./FormData.js":440,"./XMLHttpRequestEventTarget.js":587,"./XMLHttpRequestResponseType.js":588,"./utils.js":591,"webidl-conversions":1075}],587:[function(require,module,exports){ +},{"../xhr/XMLHttpRequest-impl.js":775,"./Blob.js":403,"./Document.js":421,"./EventHandlerNonNull.js":431,"./FormData.js":444,"./XMLHttpRequestEventTarget.js":591,"./XMLHttpRequestResponseType.js":592,"./utils.js":595,"webidl-conversions":1079}],591:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -140708,7 +140770,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../xhr/XMLHttpRequestEventTarget-impl.js"); -},{"../xhr/XMLHttpRequestEventTarget-impl.js":772,"./EventHandlerNonNull.js":427,"./EventTarget.js":432,"./utils.js":591,"webidl-conversions":1075}],588:[function(require,module,exports){ +},{"../xhr/XMLHttpRequestEventTarget-impl.js":776,"./EventHandlerNonNull.js":431,"./EventTarget.js":436,"./utils.js":595,"webidl-conversions":1079}],592:[function(require,module,exports){ "use strict"; const enumerationValues = new Set(["", "arraybuffer", "blob", "document", "json", "text"]); @@ -140722,7 +140784,7 @@ exports.convert = function convert(value, { context = "The provided value" } = { return string; }; -},{}],589:[function(require,module,exports){ +},{}],593:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -140838,7 +140900,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../xhr/XMLHttpRequestUpload-impl.js"); -},{"../xhr/XMLHttpRequestUpload-impl.js":773,"./XMLHttpRequestEventTarget.js":587,"./utils.js":591,"webidl-conversions":1075}],590:[function(require,module,exports){ +},{"../xhr/XMLHttpRequestUpload-impl.js":777,"./XMLHttpRequestEventTarget.js":591,"./utils.js":595,"webidl-conversions":1079}],594:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -140973,7 +141035,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("../domparsing/XMLSerializer-impl.js"); -},{"../domparsing/XMLSerializer-impl.js":361,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],591:[function(require,module,exports){ +},{"../domparsing/XMLSerializer-impl.js":365,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],595:[function(require,module,exports){ "use strict"; // Returns "Type(value) is Object" in ES terminology. @@ -141116,7 +141178,7 @@ module.exports = exports = { iteratorResult }; -},{}],592:[function(require,module,exports){ +},{}],596:[function(require,module,exports){ "use strict"; const http = require("http"); const https = require("https"); @@ -141133,7 +141195,7 @@ module.exports = function agentFactory(proxy, rejectUnauthorized) { return { http: new http.Agent(agentOpts), https: new https.Agent(agentOpts) }; }; -},{"http":1019,"http-proxy-agent":322,"https":323,"https-proxy-agent":325,"url":1058}],593:[function(require,module,exports){ +},{"http":1023,"http-proxy-agent":326,"https":327,"https-proxy-agent":329,"url":1062}],597:[function(require,module,exports){ "use strict"; // See https://github.com/jsdom/jsdom/pull/2743#issuecomment-562991955 for background. @@ -141144,7 +141206,7 @@ exports.copyToArrayBufferInNewRealm = (nodejsBuffer, newRealm) => { return newAB; }; -},{}],594:[function(require,module,exports){ +},{}],598:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -141466,7 +141528,7 @@ module.exports = { getHTMLElementInterface }; -},{"../generated/utils":591,"../interfaces":625,"./custom-elements":596,"./internal-constants":605,"./namespaces":609,"./runtime-script-errors":613,"./validate-names":623,"domexception/webidl2js-wrapper":243}],595:[function(require,module,exports){ +},{"../generated/utils":595,"../interfaces":629,"./custom-elements":600,"./internal-constants":609,"./namespaces":613,"./runtime-script-errors":617,"./validate-names":627,"domexception/webidl2js-wrapper":247}],599:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils"); @@ -141656,7 +141718,7 @@ exports.createEventAccessor = (obj, event) => { }); }; -},{"../generated/ErrorEvent":424,"../generated/EventHandlerNonNull.js":427,"../generated/OnBeforeUnloadEventHandlerNonNull.js":541,"../generated/OnErrorEventHandlerNonNull.js":542,"../generated/utils":591,"./runtime-script-errors":613}],596:[function(require,module,exports){ +},{"../generated/ErrorEvent":428,"../generated/EventHandlerNonNull.js":431,"../generated/OnBeforeUnloadEventHandlerNonNull.js":545,"../generated/OnErrorEventHandlerNonNull.js":546,"../generated/utils":595,"./runtime-script-errors":617}],600:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -141928,7 +141990,7 @@ module.exports = { invokeCEReactions }; -},{"../generated/utils":591,"../node-type":641,"./namespaces":609,"./runtime-script-errors":613,"./shadow-dom":615,"domexception/webidl2js-wrapper":243,"is-potential-custom-element-name":331}],597:[function(require,module,exports){ +},{"../generated/utils":595,"../node-type":645,"./namespaces":613,"./runtime-script-errors":617,"./shadow-dom":619,"domexception/webidl2js-wrapper":247,"is-potential-custom-element-name":335}],601:[function(require,module,exports){ "use strict"; function isLeapYear(year) { @@ -142200,7 +142262,7 @@ module.exports = { serializeWeek }; -},{}],598:[function(require,module,exports){ +},{}],602:[function(require,module,exports){ "use strict"; const { firstChildWithLocalName } = require("./traversal"); const { HTML_NS } = require("./namespaces"); @@ -142217,7 +142279,7 @@ exports.isSummaryForParentDetails = summaryElement => { return firstChildWithLocalName(parent, "summary") === summaryElement; }; -},{"./namespaces":609,"./traversal":622}],599:[function(require,module,exports){ +},{"./namespaces":613,"./traversal":626}],603:[function(require,module,exports){ "use strict"; const whatwgURL = require("whatwg-url"); const { implForWrapper } = require("../generated/utils"); @@ -142273,7 +142335,7 @@ function frozenBaseURL(baseElement, fallbackBaseURL) { return result === null ? fallbackBaseURL : result; } -},{"../generated/utils":591,"whatwg-url":1113}],600:[function(require,module,exports){ +},{"../generated/utils":595,"whatwg-url":1117}],604:[function(require,module,exports){ "use strict"; const Event = require("../generated/Event"); @@ -142299,7 +142361,7 @@ module.exports = { fireAnEvent }; -},{"../generated/Event":426,"../generated/utils":591}],601:[function(require,module,exports){ +},{"../generated/Event":430,"../generated/utils":595}],605:[function(require,module,exports){ "use strict"; const FocusEvent = require("../generated/FocusEvent.js"); const idlUtils = require("../generated/utils.js"); @@ -142405,7 +142467,7 @@ exports.fireFocusEventWithTargetAdjustment = (name, target, relatedTarget, { bub target._dispatch(event); }; -},{"../generated/FocusEvent.js":438,"../generated/utils.js":591,"./events":600,"./form-controls.js":602,"./namespaces":609,"./svg/render":620,"./traversal":622}],602:[function(require,module,exports){ +},{"../generated/FocusEvent.js":442,"../generated/utils.js":595,"./events":604,"./form-controls.js":606,"./namespaces":613,"./svg/render":624,"./traversal":626}],606:[function(require,module,exports){ "use strict"; const { @@ -142720,7 +142782,7 @@ exports.formOwner = formControl => { return null; }; -},{"../generated/NodeList":540,"../node-type":641,"./dates-and-times":597,"./internal-constants":605,"./namespaces":609,"./strings":616,"./traversal":622,"whatwg-url":1113}],603:[function(require,module,exports){ +},{"../generated/NodeList":544,"../node-type":645,"./dates-and-times":601,"./internal-constants":609,"./namespaces":613,"./strings":620,"./traversal":626,"whatwg-url":1117}],607:[function(require,module,exports){ "use strict"; const { HTML_NS } = require("./namespaces"); @@ -142800,7 +142862,7 @@ module.exports = { HTMLConstructor }; -},{"../generated/utils":591,"./create-element":594,"./namespaces":609}],604:[function(require,module,exports){ +},{"../generated/utils":595,"./create-element":598,"./namespaces":613}],608:[function(require,module,exports){ (function (process){(function (){ "use strict"; const http = require("http"); @@ -143058,7 +143120,7 @@ module.exports = class Request extends Writable { }; }).call(this)}).call(this,require('_process')) -},{"_process":974,"http":1019,"https":323,"stream":1004,"zlib":121}],605:[function(require,module,exports){ +},{"_process":978,"http":1023,"https":327,"stream":1008,"zlib":125}],609:[function(require,module,exports){ "use strict"; const SymbolTree = require("symbol-tree"); @@ -143072,7 +143134,7 @@ exports.cloningSteps = Symbol("cloning steps"); */ exports.domSymbolTree = new SymbolTree("DOM SymbolTree"); -},{"symbol-tree":1039}],606:[function(require,module,exports){ +},{"symbol-tree":1043}],610:[function(require,module,exports){ "use strict"; // An iterable WeakSet implementation inspired by the iterable WeakMap example code in the WeakRefs specification: @@ -143122,7 +143184,7 @@ module.exports = class IterableWeakSet { } }; -},{}],607:[function(require,module,exports){ +},{}],611:[function(require,module,exports){ "use strict"; // https://infra.spec.whatwg.org/#parse-json-from-bytes @@ -143136,7 +143198,7 @@ exports.parseJSONFromBytes = bytes => { return JSON.parse(jsonText); }; -},{}],608:[function(require,module,exports){ +},{}],612:[function(require,module,exports){ "use strict"; const { domSymbolTree } = require("./internal-constants"); @@ -143336,7 +143398,7 @@ module.exports = { signalSlotList }; -},{"../generated/Event":426,"../generated/MutationRecord":534,"../generated/utils":591,"./internal-constants":605,"./runtime-script-errors":613}],609:[function(require,module,exports){ +},{"../generated/Event":430,"../generated/MutationRecord":538,"../generated/utils":595,"./internal-constants":609,"./runtime-script-errors":617}],613:[function(require,module,exports){ "use strict"; // https://infra.spec.whatwg.org/#namespaces @@ -143353,7 +143415,7 @@ exports.XML_NS = "http://www.w3.org/XML/1998/namespace"; exports.XMLNS_NS = "http://www.w3.org/2000/xmlns/"; -},{}],610:[function(require,module,exports){ +},{}],614:[function(require,module,exports){ "use strict"; const NODE_TYPE = require("../node-type"); @@ -143423,7 +143485,7 @@ module.exports = { isFollowing }; -},{"../node-type":641,"./internal-constants":605}],611:[function(require,module,exports){ +},{"../node-type":645,"./internal-constants":609}],615:[function(require,module,exports){ "use strict"; const { parseFloatingPointNumber } = require("./strings"); const { @@ -143620,7 +143682,7 @@ exports.convertNumberToStringByType = { } }; -},{"./dates-and-times":597,"./strings":616}],612:[function(require,module,exports){ +},{"./dates-and-times":601,"./strings":620}],616:[function(require,module,exports){ "use strict"; // https://infra.spec.whatwg.org/#sets @@ -143726,7 +143788,7 @@ module.exports = class OrderedSet { } }; -},{}],613:[function(require,module,exports){ +},{}],617:[function(require,module,exports){ "use strict"; const util = require("util"); const idlUtils = require("../generated/utils"); @@ -143804,7 +143866,7 @@ function shouldBeDisplayedAsError(x) { return x && x.name && x.message !== undefined && x.stack; } -},{"../generated/ErrorEvent":424,"../generated/utils":591,"../helpers/events":600,"util":1063}],614:[function(require,module,exports){ +},{"../generated/ErrorEvent":428,"../generated/utils":595,"../helpers/events":604,"util":1067}],618:[function(require,module,exports){ "use strict"; const nwsapi = require("nwsapi"); @@ -143853,7 +143915,7 @@ exports.addNwsapi = parentNode => { return document._nwsapi; }; -},{"../generated/utils":591,"nwsapi":923}],615:[function(require,module,exports){ +},{"../generated/utils":595,"nwsapi":927}],619:[function(require,module,exports){ "use strict"; const NODE_TYPE = require("../node-type"); @@ -144140,7 +144202,7 @@ module.exports = { shadowIncludingDescendantsIterator }; -},{"../node-type":641,"./internal-constants":605,"./mutation-observers":608,"./namespaces":609,"./node":610}],616:[function(require,module,exports){ +},{"../node-type":645,"./internal-constants":609,"./mutation-observers":612,"./namespaces":613,"./node":614}],620:[function(require,module,exports){ "use strict"; // https://infra.spec.whatwg.org/#ascii-whitespace @@ -144290,7 +144352,7 @@ exports.splitOnCommas = str => { return tokens; }; -},{}],617:[function(require,module,exports){ +},{}],621:[function(require,module,exports){ "use strict"; const cssom = require("cssom"); const defaultStyleSheet = require("../../browser/default-stylesheet"); @@ -144402,7 +144464,7 @@ exports.getResolvedValue = (element, property) => { exports.SHADOW_DOM_PSEUDO_REGEXP = /^::(?:part|slotted)\(/i; -},{"../../browser/default-stylesheet":335,"./selectors":614,"cssom":188}],618:[function(require,module,exports){ +},{"../../browser/default-stylesheet":339,"./selectors":618,"cssom":192}],622:[function(require,module,exports){ "use strict"; const cssom = require("cssom"); const whatwgEncoding = require("whatwg-encoding"); @@ -144517,7 +144579,7 @@ function scanForImportRules(elementImpl, cssRules, baseURL) { } } -},{"cssom":188,"whatwg-encoding":1078,"whatwg-url":1113}],619:[function(require,module,exports){ +},{"cssom":192,"whatwg-encoding":1082,"whatwg-url":1117}],623:[function(require,module,exports){ "use strict"; // https://svgwg.org/svg2-draft/types.html#TermDetach @@ -144560,7 +144622,7 @@ function reserializeCommaSeparatedTokens(elements) { } exports.reserializeCommaSeparatedTokens = reserializeCommaSeparatedTokens; -},{}],620:[function(require,module,exports){ +},{}],624:[function(require,module,exports){ "use strict"; const { SVG_NS } = require("../namespaces"); @@ -144608,7 +144670,7 @@ exports.isRenderedElement = elImpl => { return true; }; -},{"../namespaces":609}],621:[function(require,module,exports){ +},{"../namespaces":613}],625:[function(require,module,exports){ "use strict"; const { domSymbolTree } = require("./internal-constants"); const { CDATA_SECTION_NODE, TEXT_NODE } = require("../node-type"); @@ -144629,7 +144691,7 @@ exports.childTextContent = node => { return result; }; -},{"../node-type":641,"./internal-constants":605}],622:[function(require,module,exports){ +},{"../node-type":645,"./internal-constants":609}],626:[function(require,module,exports){ "use strict"; const { domSymbolTree } = require("./internal-constants"); const { HTML_NS } = require("./namespaces"); @@ -144703,7 +144765,7 @@ exports.firstDescendantWithLocalName = (parent, localName, namespace = HTML_NS) return null; }; -},{"./internal-constants":605,"./namespaces":609}],623:[function(require,module,exports){ +},{"./internal-constants":609,"./namespaces":613}],627:[function(require,module,exports){ "use strict"; const xnv = require("xml-name-validator"); const DOMException = require("domexception/webidl2js-wrapper"); @@ -144780,7 +144842,7 @@ exports.validateAndExtract = function (globalObject, namespace, qualifiedName) { return { namespace, prefix, localName }; }; -},{"../helpers/namespaces":609,"domexception/webidl2js-wrapper":243,"xml-name-validator":1117}],624:[function(require,module,exports){ +},{"../helpers/namespaces":613,"domexception/webidl2js-wrapper":247,"xml-name-validator":1121}],628:[function(require,module,exports){ "use strict"; const EventTargetImpl = require("../events/EventTarget-impl").implementation; @@ -144807,7 +144869,7 @@ class PerformanceImpl extends EventTargetImpl { exports.implementation = PerformanceImpl; -},{"../events/EventTarget-impl":370}],625:[function(require,module,exports){ +},{"../events/EventTarget-impl":374}],629:[function(require,module,exports){ /* eslint-disable global-require */ "use strict"; @@ -145026,7 +145088,7 @@ exports.getInterfaceWrapper = name => { return generatedInterfaces[name]; }; -},{"../level2/style":347,"../level3/xpath":348,"./generated/AbortController":391,"./generated/AbortSignal":392,"./generated/AbstractRange":393,"./generated/Attr":396,"./generated/BarProp":397,"./generated/Blob":399,"./generated/CDATASection":402,"./generated/CharacterData":403,"./generated/CloseEvent":404,"./generated/Comment":406,"./generated/CompositionEvent":407,"./generated/CustomElementRegistry":410,"./generated/CustomEvent":411,"./generated/DOMImplementation":413,"./generated/DOMParser":414,"./generated/DOMStringMap":415,"./generated/DOMTokenList":416,"./generated/Document":417,"./generated/DocumentFragment":418,"./generated/DocumentType":419,"./generated/Element":420,"./generated/ErrorEvent":424,"./generated/Event":426,"./generated/EventTarget":432,"./generated/External":433,"./generated/File":434,"./generated/FileList":435,"./generated/FileReader":437,"./generated/FocusEvent":438,"./generated/FormData":440,"./generated/HTMLAnchorElement.js":443,"./generated/HTMLAreaElement.js":444,"./generated/HTMLAudioElement.js":445,"./generated/HTMLBRElement.js":446,"./generated/HTMLBaseElement.js":447,"./generated/HTMLBodyElement.js":448,"./generated/HTMLButtonElement.js":449,"./generated/HTMLCanvasElement.js":450,"./generated/HTMLCollection":451,"./generated/HTMLDListElement.js":452,"./generated/HTMLDataElement.js":453,"./generated/HTMLDataListElement.js":454,"./generated/HTMLDetailsElement.js":455,"./generated/HTMLDialogElement.js":456,"./generated/HTMLDirectoryElement.js":457,"./generated/HTMLDivElement.js":458,"./generated/HTMLElement.js":459,"./generated/HTMLEmbedElement.js":460,"./generated/HTMLFieldSetElement.js":461,"./generated/HTMLFontElement.js":462,"./generated/HTMLFormElement.js":463,"./generated/HTMLFrameElement.js":464,"./generated/HTMLFrameSetElement.js":465,"./generated/HTMLHRElement.js":466,"./generated/HTMLHeadElement.js":467,"./generated/HTMLHeadingElement.js":468,"./generated/HTMLHtmlElement.js":469,"./generated/HTMLIFrameElement.js":470,"./generated/HTMLImageElement.js":471,"./generated/HTMLInputElement.js":472,"./generated/HTMLLIElement.js":473,"./generated/HTMLLabelElement.js":474,"./generated/HTMLLegendElement.js":475,"./generated/HTMLLinkElement.js":476,"./generated/HTMLMapElement.js":477,"./generated/HTMLMarqueeElement.js":478,"./generated/HTMLMediaElement.js":479,"./generated/HTMLMenuElement.js":480,"./generated/HTMLMetaElement.js":481,"./generated/HTMLMeterElement.js":482,"./generated/HTMLModElement.js":483,"./generated/HTMLOListElement.js":484,"./generated/HTMLObjectElement.js":485,"./generated/HTMLOptGroupElement.js":486,"./generated/HTMLOptionElement.js":487,"./generated/HTMLOptionsCollection":488,"./generated/HTMLOutputElement.js":489,"./generated/HTMLParagraphElement.js":490,"./generated/HTMLParamElement.js":491,"./generated/HTMLPictureElement.js":492,"./generated/HTMLPreElement.js":493,"./generated/HTMLProgressElement.js":494,"./generated/HTMLQuoteElement.js":495,"./generated/HTMLScriptElement.js":496,"./generated/HTMLSelectElement.js":497,"./generated/HTMLSlotElement.js":498,"./generated/HTMLSourceElement.js":499,"./generated/HTMLSpanElement.js":500,"./generated/HTMLStyleElement.js":501,"./generated/HTMLTableCaptionElement.js":502,"./generated/HTMLTableCellElement.js":503,"./generated/HTMLTableColElement.js":504,"./generated/HTMLTableElement.js":505,"./generated/HTMLTableRowElement.js":506,"./generated/HTMLTableSectionElement.js":507,"./generated/HTMLTemplateElement.js":508,"./generated/HTMLTextAreaElement.js":509,"./generated/HTMLTimeElement.js":510,"./generated/HTMLTitleElement.js":511,"./generated/HTMLTrackElement.js":512,"./generated/HTMLUListElement.js":513,"./generated/HTMLUnknownElement.js":514,"./generated/HTMLVideoElement.js":515,"./generated/HashChangeEvent":516,"./generated/Headers":518,"./generated/History":519,"./generated/InputEvent":520,"./generated/KeyboardEvent":522,"./generated/Location":524,"./generated/MessageEvent":525,"./generated/MimeType":527,"./generated/MimeTypeArray":528,"./generated/MouseEvent":529,"./generated/MutationObserver":532,"./generated/MutationRecord":534,"./generated/NamedNodeMap":535,"./generated/Navigator":536,"./generated/Node":537,"./generated/NodeFilter":538,"./generated/NodeIterator":539,"./generated/NodeList":540,"./generated/PageTransitionEvent":543,"./generated/Performance":545,"./generated/Plugin":546,"./generated/PluginArray":547,"./generated/PopStateEvent":548,"./generated/ProcessingInstruction":550,"./generated/ProgressEvent":551,"./generated/Range":553,"./generated/SVGAnimatedString":554,"./generated/SVGElement.js":555,"./generated/SVGGraphicsElement.js":556,"./generated/SVGNumber":557,"./generated/SVGSVGElement.js":558,"./generated/SVGStringList":559,"./generated/SVGTitleElement.js":560,"./generated/Screen":561,"./generated/Selection":562,"./generated/ShadowRoot":564,"./generated/StaticRange":567,"./generated/Storage":569,"./generated/StorageEvent":570,"./generated/StyleSheetList.js":572,"./generated/Text":574,"./generated/TouchEvent":576,"./generated/TreeWalker":578,"./generated/UIEvent":579,"./generated/ValidityState":581,"./generated/WebSocket":582,"./generated/WheelEvent":583,"./generated/XMLDocument":585,"./generated/XMLHttpRequest":586,"./generated/XMLHttpRequestEventTarget":587,"./generated/XMLHttpRequestUpload":589,"./generated/XMLSerializer":590,"domexception/webidl2js-wrapper":243,"whatwg-url/webidl2js-wrapper":1114}],626:[function(require,module,exports){ +},{"../level2/style":351,"../level3/xpath":352,"./generated/AbortController":395,"./generated/AbortSignal":396,"./generated/AbstractRange":397,"./generated/Attr":400,"./generated/BarProp":401,"./generated/Blob":403,"./generated/CDATASection":406,"./generated/CharacterData":407,"./generated/CloseEvent":408,"./generated/Comment":410,"./generated/CompositionEvent":411,"./generated/CustomElementRegistry":414,"./generated/CustomEvent":415,"./generated/DOMImplementation":417,"./generated/DOMParser":418,"./generated/DOMStringMap":419,"./generated/DOMTokenList":420,"./generated/Document":421,"./generated/DocumentFragment":422,"./generated/DocumentType":423,"./generated/Element":424,"./generated/ErrorEvent":428,"./generated/Event":430,"./generated/EventTarget":436,"./generated/External":437,"./generated/File":438,"./generated/FileList":439,"./generated/FileReader":441,"./generated/FocusEvent":442,"./generated/FormData":444,"./generated/HTMLAnchorElement.js":447,"./generated/HTMLAreaElement.js":448,"./generated/HTMLAudioElement.js":449,"./generated/HTMLBRElement.js":450,"./generated/HTMLBaseElement.js":451,"./generated/HTMLBodyElement.js":452,"./generated/HTMLButtonElement.js":453,"./generated/HTMLCanvasElement.js":454,"./generated/HTMLCollection":455,"./generated/HTMLDListElement.js":456,"./generated/HTMLDataElement.js":457,"./generated/HTMLDataListElement.js":458,"./generated/HTMLDetailsElement.js":459,"./generated/HTMLDialogElement.js":460,"./generated/HTMLDirectoryElement.js":461,"./generated/HTMLDivElement.js":462,"./generated/HTMLElement.js":463,"./generated/HTMLEmbedElement.js":464,"./generated/HTMLFieldSetElement.js":465,"./generated/HTMLFontElement.js":466,"./generated/HTMLFormElement.js":467,"./generated/HTMLFrameElement.js":468,"./generated/HTMLFrameSetElement.js":469,"./generated/HTMLHRElement.js":470,"./generated/HTMLHeadElement.js":471,"./generated/HTMLHeadingElement.js":472,"./generated/HTMLHtmlElement.js":473,"./generated/HTMLIFrameElement.js":474,"./generated/HTMLImageElement.js":475,"./generated/HTMLInputElement.js":476,"./generated/HTMLLIElement.js":477,"./generated/HTMLLabelElement.js":478,"./generated/HTMLLegendElement.js":479,"./generated/HTMLLinkElement.js":480,"./generated/HTMLMapElement.js":481,"./generated/HTMLMarqueeElement.js":482,"./generated/HTMLMediaElement.js":483,"./generated/HTMLMenuElement.js":484,"./generated/HTMLMetaElement.js":485,"./generated/HTMLMeterElement.js":486,"./generated/HTMLModElement.js":487,"./generated/HTMLOListElement.js":488,"./generated/HTMLObjectElement.js":489,"./generated/HTMLOptGroupElement.js":490,"./generated/HTMLOptionElement.js":491,"./generated/HTMLOptionsCollection":492,"./generated/HTMLOutputElement.js":493,"./generated/HTMLParagraphElement.js":494,"./generated/HTMLParamElement.js":495,"./generated/HTMLPictureElement.js":496,"./generated/HTMLPreElement.js":497,"./generated/HTMLProgressElement.js":498,"./generated/HTMLQuoteElement.js":499,"./generated/HTMLScriptElement.js":500,"./generated/HTMLSelectElement.js":501,"./generated/HTMLSlotElement.js":502,"./generated/HTMLSourceElement.js":503,"./generated/HTMLSpanElement.js":504,"./generated/HTMLStyleElement.js":505,"./generated/HTMLTableCaptionElement.js":506,"./generated/HTMLTableCellElement.js":507,"./generated/HTMLTableColElement.js":508,"./generated/HTMLTableElement.js":509,"./generated/HTMLTableRowElement.js":510,"./generated/HTMLTableSectionElement.js":511,"./generated/HTMLTemplateElement.js":512,"./generated/HTMLTextAreaElement.js":513,"./generated/HTMLTimeElement.js":514,"./generated/HTMLTitleElement.js":515,"./generated/HTMLTrackElement.js":516,"./generated/HTMLUListElement.js":517,"./generated/HTMLUnknownElement.js":518,"./generated/HTMLVideoElement.js":519,"./generated/HashChangeEvent":520,"./generated/Headers":522,"./generated/History":523,"./generated/InputEvent":524,"./generated/KeyboardEvent":526,"./generated/Location":528,"./generated/MessageEvent":529,"./generated/MimeType":531,"./generated/MimeTypeArray":532,"./generated/MouseEvent":533,"./generated/MutationObserver":536,"./generated/MutationRecord":538,"./generated/NamedNodeMap":539,"./generated/Navigator":540,"./generated/Node":541,"./generated/NodeFilter":542,"./generated/NodeIterator":543,"./generated/NodeList":544,"./generated/PageTransitionEvent":547,"./generated/Performance":549,"./generated/Plugin":550,"./generated/PluginArray":551,"./generated/PopStateEvent":552,"./generated/ProcessingInstruction":554,"./generated/ProgressEvent":555,"./generated/Range":557,"./generated/SVGAnimatedString":558,"./generated/SVGElement.js":559,"./generated/SVGGraphicsElement.js":560,"./generated/SVGNumber":561,"./generated/SVGSVGElement.js":562,"./generated/SVGStringList":563,"./generated/SVGTitleElement.js":564,"./generated/Screen":565,"./generated/Selection":566,"./generated/ShadowRoot":568,"./generated/StaticRange":571,"./generated/Storage":573,"./generated/StorageEvent":574,"./generated/StyleSheetList.js":576,"./generated/Text":578,"./generated/TouchEvent":580,"./generated/TreeWalker":582,"./generated/UIEvent":583,"./generated/ValidityState":585,"./generated/WebSocket":586,"./generated/WheelEvent":587,"./generated/XMLDocument":589,"./generated/XMLHttpRequest":590,"./generated/XMLHttpRequestEventTarget":591,"./generated/XMLHttpRequestUpload":593,"./generated/XMLSerializer":594,"domexception/webidl2js-wrapper":247,"whatwg-url/webidl2js-wrapper":1118}],630:[function(require,module,exports){ "use strict"; const { wrapperForImpl } = require("../generated/utils"); @@ -145123,7 +145185,7 @@ module.exports = { implementation: MutationObserverImpl }; -},{"../generated/utils":591}],627:[function(require,module,exports){ +},{"../generated/utils":595}],631:[function(require,module,exports){ "use strict"; const NodeList = require("../generated/NodeList"); @@ -145162,7 +145224,7 @@ module.exports = { implementation: MutationRecordImpl }; -},{"../generated/NodeList":540}],628:[function(require,module,exports){ +},{"../generated/NodeList":544}],632:[function(require,module,exports){ "use strict"; const hasOwnProp = Object.prototype.hasOwnProperty; const namedPropertiesTracker = require("../named-properties-tracker"); @@ -145305,12 +145367,12 @@ exports.nodeDetachedFromDocument = function (node) { } }; -},{"../named-properties-tracker":775,"../utils":776,"./generated/HTMLCollection":451,"./generated/utils":591,"./node-type":641}],629:[function(require,module,exports){ +},{"../named-properties-tracker":779,"../utils":780,"./generated/HTMLCollection":455,"./generated/utils":595,"./node-type":645}],633:[function(require,module,exports){ "use strict"; exports.implementation = class MimeType {}; -},{}],630:[function(require,module,exports){ +},{}],634:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils"); @@ -145333,7 +145395,7 @@ exports.implementation = class MimeTypeArray { } }; -},{"../generated/utils":591}],631:[function(require,module,exports){ +},{"../generated/utils":595}],635:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); const PluginArray = require("../generated/PluginArray"); @@ -145364,7 +145426,7 @@ mixin(NavigatorImpl.prototype, NavigatorConcurrentHardwareImpl.prototype); exports.implementation = NavigatorImpl; -},{"../../utils":776,"../generated/MimeTypeArray":528,"../generated/PluginArray":547,"./NavigatorConcurrentHardware-impl":632,"./NavigatorCookies-impl":633,"./NavigatorID-impl":634,"./NavigatorLanguage-impl":635,"./NavigatorOnLine-impl":636,"./NavigatorPlugins-impl":637}],632:[function(require,module,exports){ +},{"../../utils":780,"../generated/MimeTypeArray":532,"../generated/PluginArray":551,"./NavigatorConcurrentHardware-impl":636,"./NavigatorCookies-impl":637,"./NavigatorID-impl":638,"./NavigatorLanguage-impl":639,"./NavigatorOnLine-impl":640,"./NavigatorPlugins-impl":641}],636:[function(require,module,exports){ "use strict"; const os = require("os"); @@ -145374,7 +145436,7 @@ exports.implementation = class NavigatorConcurrentHardwareImpl { } }; -},{"os":925}],633:[function(require,module,exports){ +},{"os":929}],637:[function(require,module,exports){ "use strict"; exports.implementation = class NavigatorCookiesImpl { @@ -145383,7 +145445,7 @@ exports.implementation = class NavigatorCookiesImpl { } }; -},{}],634:[function(require,module,exports){ +},{}],638:[function(require,module,exports){ "use strict"; exports.implementation = class NavigatorIDImpl { @@ -145422,7 +145484,7 @@ exports.implementation = class NavigatorIDImpl { } }; -},{}],635:[function(require,module,exports){ +},{}],639:[function(require,module,exports){ "use strict"; exports.implementation = class NavigatorLanguageImpl { @@ -145433,7 +145495,7 @@ exports.implementation = class NavigatorLanguageImpl { // See Navigator constructor for languages }; -},{}],636:[function(require,module,exports){ +},{}],640:[function(require,module,exports){ "use strict"; exports.implementation = class NavigatorOnLineImpl { @@ -145442,7 +145504,7 @@ exports.implementation = class NavigatorOnLineImpl { } }; -},{}],637:[function(require,module,exports){ +},{}],641:[function(require,module,exports){ "use strict"; exports.implementation = class NavigatorPluginsImpl { @@ -145452,12 +145514,12 @@ exports.implementation = class NavigatorPluginsImpl { } }; -},{}],638:[function(require,module,exports){ +},{}],642:[function(require,module,exports){ "use strict"; exports.implementation = class Plugin {}; -},{}],639:[function(require,module,exports){ +},{}],643:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils"); @@ -145482,7 +145544,7 @@ exports.implementation = class PluginArray { } }; -},{"../generated/utils":591}],640:[function(require,module,exports){ +},{"../generated/utils":595}],644:[function(require,module,exports){ "use strict"; module.exports = Object.freeze({ @@ -145494,7 +145556,7 @@ module.exports = Object.freeze({ DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32 }); -},{}],641:[function(require,module,exports){ +},{}],645:[function(require,module,exports){ "use strict"; module.exports = Object.freeze({ @@ -145512,7 +145574,7 @@ module.exports = Object.freeze({ NOTATION_NODE: 12 // historical }); -},{}],642:[function(require,module,exports){ +},{}],646:[function(require,module,exports){ "use strict"; const { appendAttribute } = require("./attributes"); const NODE_TYPE = require("./node-type"); @@ -145845,7 +145907,7 @@ exports.locateNamespace = (node, prefix) => { } }; -},{"./attributes":351,"./generated/HTMLCollection":451,"./helpers/create-element":594,"./helpers/internal-constants":605,"./helpers/namespaces":609,"./helpers/ordered-set":612,"./helpers/strings":616,"./node-type":641}],643:[function(require,module,exports){ +},{"./attributes":355,"./generated/HTMLCollection":455,"./helpers/create-element":598,"./helpers/internal-constants":609,"./helpers/namespaces":613,"./helpers/ordered-set":616,"./helpers/strings":620,"./node-type":645}],647:[function(require,module,exports){ "use strict"; const TextImpl = require("./Text-impl").implementation; @@ -145863,7 +145925,7 @@ module.exports = { implementation: CDATASectionImpl }; -},{"../node-type":641,"./Text-impl":745}],644:[function(require,module,exports){ +},{"../node-type":645,"./Text-impl":749}],648:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -145983,7 +146045,7 @@ module.exports = { implementation: CharacterDataImpl }; -},{"../../utils":776,"../helpers/mutation-observers":608,"../node-type":641,"./ChildNode-impl":645,"./Node-impl":732,"./NonDocumentTypeChildNode-impl":734,"domexception/webidl2js-wrapper":243}],645:[function(require,module,exports){ +},{"../../utils":780,"../helpers/mutation-observers":612,"../node-type":645,"./ChildNode-impl":649,"./Node-impl":736,"./NonDocumentTypeChildNode-impl":738,"domexception/webidl2js-wrapper":247}],649:[function(require,module,exports){ "use strict"; const { convertNodesIntoNode } = require("../node"); @@ -146065,7 +146127,7 @@ module.exports = { implementation: ChildNodeImpl }; -},{"../node":642}],646:[function(require,module,exports){ +},{"../node":646}],650:[function(require,module,exports){ "use strict"; const CharacterDataImpl = require("./CharacterData-impl").implementation; const idlUtils = require("../generated/utils"); @@ -146087,7 +146149,7 @@ module.exports = { implementation: CommentImpl }; -},{"../generated/utils":591,"../node-type":641,"./CharacterData-impl":644}],647:[function(require,module,exports){ +},{"../generated/utils":595,"../node-type":645,"./CharacterData-impl":648}],651:[function(require,module,exports){ "use strict"; const validateNames = require("../helpers/validate-names"); @@ -146209,7 +146271,7 @@ module.exports = { implementation: DOMImplementationImpl }; -},{"../documents.js":358,"../generated/DocumentType":419,"../helpers/create-element":594,"../helpers/namespaces":609,"../helpers/validate-names":623}],648:[function(require,module,exports){ +},{"../documents.js":362,"../generated/DocumentType":423,"../helpers/create-element":598,"../helpers/namespaces":613,"../helpers/validate-names":627}],652:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils.js"); @@ -146275,7 +146337,7 @@ exports.implementation = class DOMStringMapImpl { } }; -},{"../attributes":351,"../generated/utils.js":591,"../helpers/validate-names":623,"domexception/webidl2js-wrapper":243}],649:[function(require,module,exports){ +},{"../attributes":355,"../generated/utils.js":595,"../helpers/validate-names":627,"domexception/webidl2js-wrapper":247}],653:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -146448,7 +146510,7 @@ class DOMTokenListImpl { exports.implementation = DOMTokenListImpl; -},{"../attributes.js":351,"../generated/utils.js":591,"../helpers/ordered-set.js":612,"../helpers/strings.js":616,"domexception/webidl2js-wrapper":243}],650:[function(require,module,exports){ +},{"../attributes.js":355,"../generated/utils.js":595,"../helpers/ordered-set.js":616,"../helpers/strings.js":620,"domexception/webidl2js-wrapper":247}],654:[function(require,module,exports){ "use strict"; const { CookieJar } = require("tough-cookie"); @@ -147396,7 +147458,7 @@ module.exports = { implementation: DocumentImpl }; -},{"../../browser/parser":339,"../../browser/resources/async-resource-queue":341,"../../browser/resources/per-document-resource-loader":343,"../../browser/resources/request-manager":344,"../../browser/resources/resource-queue":346,"../../utils":776,"../documents.js":358,"../generated/Attr":396,"../generated/CDATASection":402,"../generated/Comment":406,"../generated/CustomEvent":411,"../generated/DOMImplementation":413,"../generated/DocumentFragment":418,"../generated/ErrorEvent":424,"../generated/Event":426,"../generated/FocusEvent":438,"../generated/HTMLCollection":451,"../generated/HashChangeEvent":516,"../generated/History":519,"../generated/KeyboardEvent":522,"../generated/Location":524,"../generated/MessageEvent":525,"../generated/MouseEvent":529,"../generated/NodeIterator":539,"../generated/NodeList":540,"../generated/PopStateEvent":548,"../generated/ProcessingInstruction":550,"../generated/ProgressEvent":551,"../generated/Range":553,"../generated/ShadowRoot":564,"../generated/StyleSheetList.js":572,"../generated/Text":574,"../generated/TouchEvent":576,"../generated/TreeWalker":578,"../generated/UIEvent":579,"../generated/utils":591,"../helpers/create-element":594,"../helpers/create-event-accessor":595,"../helpers/custom-elements":596,"../helpers/events":600,"../helpers/internal-constants":605,"../helpers/iterable-weak-set":606,"../helpers/namespaces":609,"../helpers/shadow-dom":615,"../helpers/strings":616,"../helpers/text":621,"../helpers/traversal":622,"../helpers/validate-names":623,"../node":642,"../node-type":641,"./DocumentOrShadowRoot-impl":652,"./GlobalEventHandlers-impl":656,"./Node-impl":732,"./NonElementParentNode-impl":735,"./ParentNode-impl":736,"domexception/webidl2js-wrapper":243,"tough-cookie":1044,"whatwg-url":1113}],651:[function(require,module,exports){ +},{"../../browser/parser":343,"../../browser/resources/async-resource-queue":345,"../../browser/resources/per-document-resource-loader":347,"../../browser/resources/request-manager":348,"../../browser/resources/resource-queue":350,"../../utils":780,"../documents.js":362,"../generated/Attr":400,"../generated/CDATASection":406,"../generated/Comment":410,"../generated/CustomEvent":415,"../generated/DOMImplementation":417,"../generated/DocumentFragment":422,"../generated/ErrorEvent":428,"../generated/Event":430,"../generated/FocusEvent":442,"../generated/HTMLCollection":455,"../generated/HashChangeEvent":520,"../generated/History":523,"../generated/KeyboardEvent":526,"../generated/Location":528,"../generated/MessageEvent":529,"../generated/MouseEvent":533,"../generated/NodeIterator":543,"../generated/NodeList":544,"../generated/PopStateEvent":552,"../generated/ProcessingInstruction":554,"../generated/ProgressEvent":555,"../generated/Range":557,"../generated/ShadowRoot":568,"../generated/StyleSheetList.js":576,"../generated/Text":578,"../generated/TouchEvent":580,"../generated/TreeWalker":582,"../generated/UIEvent":583,"../generated/utils":595,"../helpers/create-element":598,"../helpers/create-event-accessor":599,"../helpers/custom-elements":600,"../helpers/events":604,"../helpers/internal-constants":609,"../helpers/iterable-weak-set":610,"../helpers/namespaces":613,"../helpers/shadow-dom":619,"../helpers/strings":620,"../helpers/text":625,"../helpers/traversal":626,"../helpers/validate-names":627,"../node":646,"../node-type":645,"./DocumentOrShadowRoot-impl":656,"./GlobalEventHandlers-impl":660,"./Node-impl":736,"./NonElementParentNode-impl":739,"./ParentNode-impl":740,"domexception/webidl2js-wrapper":247,"tough-cookie":1048,"whatwg-url":1117}],655:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); const { domSymbolTree } = require("../helpers/internal-constants"); @@ -147442,7 +147504,7 @@ module.exports = { implementation: DocumentFragmentImpl }; -},{"../../utils":776,"../generated/utils":591,"../helpers/internal-constants":605,"../node-type":641,"./Node-impl":732,"./NonElementParentNode-impl":735,"./ParentNode-impl":736}],652:[function(require,module,exports){ +},{"../../utils":780,"../generated/utils":595,"../helpers/internal-constants":609,"../node-type":645,"./Node-impl":736,"./NonElementParentNode-impl":739,"./ParentNode-impl":740}],656:[function(require,module,exports){ "use strict"; const NODE_TYPE = require("../node-type"); const { nodeRoot } = require("../helpers/node"); @@ -147472,7 +147534,7 @@ module.exports = { implementation: DocumentOrShadowRootImpl }; -},{"../helpers/node":610,"../helpers/shadow-dom":615,"../node-type":641}],653:[function(require,module,exports){ +},{"../helpers/node":614,"../helpers/shadow-dom":619,"../node-type":645}],657:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); const NodeImpl = require("./Node-impl").implementation; @@ -147498,7 +147560,7 @@ module.exports = { implementation: DocumentTypeImpl }; -},{"../../utils":776,"../node-type":641,"./ChildNode-impl":645,"./Node-impl":732}],654:[function(require,module,exports){ +},{"../../utils":780,"../node-type":645,"./ChildNode-impl":649,"./Node-impl":736}],658:[function(require,module,exports){ "use strict"; const { addNwsapi } = require("../helpers/selectors"); const { HTML_NS } = require("../helpers/namespaces"); @@ -148076,7 +148138,7 @@ module.exports = { implementation: ElementImpl }; -},{"../../browser/parser":339,"../../utils":776,"../attributes":351,"../domparsing/InnerHTML-impl":360,"../domparsing/serialization":363,"../generated/DOMTokenList":416,"../generated/NamedNodeMap":535,"../generated/ShadowRoot":564,"../generated/Text":574,"../generated/utils":591,"../helpers/custom-elements":596,"../helpers/internal-constants":605,"../helpers/namespaces":609,"../helpers/selectors":614,"../helpers/shadow-dom":615,"../helpers/strings":616,"../helpers/validate-names":623,"../named-properties-window":628,"../node":642,"../node-type":641,"./ChildNode-impl":645,"./Node-impl":732,"./NonDocumentTypeChildNode-impl":734,"./ParentNode-impl":736,"./Slotable-impl":744,"domexception/webidl2js-wrapper":243}],655:[function(require,module,exports){ +},{"../../browser/parser":343,"../../utils":780,"../attributes":355,"../domparsing/InnerHTML-impl":364,"../domparsing/serialization":367,"../generated/DOMTokenList":420,"../generated/NamedNodeMap":539,"../generated/ShadowRoot":568,"../generated/Text":578,"../generated/utils":595,"../helpers/custom-elements":600,"../helpers/internal-constants":609,"../helpers/namespaces":613,"../helpers/selectors":618,"../helpers/shadow-dom":619,"../helpers/strings":620,"../helpers/validate-names":627,"../named-properties-window":632,"../node":646,"../node-type":645,"./ChildNode-impl":649,"./Node-impl":736,"./NonDocumentTypeChildNode-impl":738,"./ParentNode-impl":740,"./Slotable-impl":748,"domexception/webidl2js-wrapper":247}],659:[function(require,module,exports){ "use strict"; const cssstyle = require("cssstyle"); @@ -148103,7 +148165,7 @@ module.exports = { implementation: ElementCSSInlineStyle }; -},{"cssstyle":190}],656:[function(require,module,exports){ +},{"cssstyle":194}],660:[function(require,module,exports){ "use strict"; const { appendHandler, createEventAccessor } = require("../helpers/create-event-accessor"); @@ -148200,7 +148262,7 @@ module.exports = { implementation: GlobalEventHandlersImpl }; -},{"../helpers/create-event-accessor":595}],657:[function(require,module,exports){ +},{"../helpers/create-event-accessor":599}],661:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); const DOMTokenList = require("../generated/DOMTokenList"); @@ -148252,7 +148314,7 @@ module.exports = { implementation: HTMLAnchorElementImpl }; -},{"../../utils":776,"../generated/DOMTokenList":416,"./HTMLElement-impl":673,"./HTMLHyperlinkElementUtils-impl":684}],658:[function(require,module,exports){ +},{"../../utils":780,"../generated/DOMTokenList":420,"./HTMLElement-impl":677,"./HTMLHyperlinkElementUtils-impl":688}],662:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); const DOMTokenList = require("../generated/DOMTokenList"); @@ -148297,7 +148359,7 @@ module.exports = { implementation: HTMLAreaElementImpl }; -},{"../../utils":776,"../generated/DOMTokenList":416,"./HTMLElement-impl":673,"./HTMLHyperlinkElementUtils-impl":684}],659:[function(require,module,exports){ +},{"../../utils":780,"../generated/DOMTokenList":420,"./HTMLElement-impl":677,"./HTMLHyperlinkElementUtils-impl":688}],663:[function(require,module,exports){ "use strict"; const HTMLMediaElementImpl = require("./HTMLMediaElement-impl").implementation; @@ -148308,7 +148370,7 @@ module.exports = { implementation: HTMLAudioElementImpl }; -},{"./HTMLMediaElement-impl":694}],660:[function(require,module,exports){ +},{"./HTMLMediaElement-impl":698}],664:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -148319,7 +148381,7 @@ module.exports = { implementation: HTMLBRElementImpl }; -},{"./HTMLElement-impl":673}],661:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],665:[function(require,module,exports){ "use strict"; const whatwgURL = require("whatwg-url"); const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -148348,7 +148410,7 @@ module.exports = { implementation: HTMLBaseElementImpl }; -},{"../helpers/document-base-url":599,"./HTMLElement-impl":673,"whatwg-url":1113}],662:[function(require,module,exports){ +},{"../helpers/document-base-url":603,"./HTMLElement-impl":677,"whatwg-url":1117}],666:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -148367,7 +148429,7 @@ module.exports = { implementation: HTMLBodyElementImpl }; -},{"../../utils":776,"./HTMLElement-impl":673,"./WindowEventHandlers-impl":746}],663:[function(require,module,exports){ +},{"../../utils":780,"./HTMLElement-impl":677,"./WindowEventHandlers-impl":750}],667:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; const DefaultConstraintValidationImpl = @@ -148448,7 +148510,7 @@ module.exports = { implementation: HTMLButtonElementImpl }; -},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../helpers/form-controls":602,"../helpers/strings":616,"./HTMLElement-impl":673}],664:[function(require,module,exports){ +},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../helpers/form-controls":606,"../helpers/strings":620,"./HTMLElement-impl":677}],668:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; const notImplemented = require("../../browser/not-implemented"); @@ -148580,7 +148642,7 @@ module.exports = { implementation: HTMLCanvasElementImpl }; -},{"../../browser/not-implemented":337,"../../utils":776,"../generated/utils":591,"./HTMLElement-impl":673}],665:[function(require,module,exports){ +},{"../../browser/not-implemented":341,"../../utils":780,"../generated/utils":595,"./HTMLElement-impl":677}],669:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils.js"); @@ -148678,7 +148740,7 @@ exports.implementation = class HTMLCollectionImpl { } }; -},{"../generated/utils.js":591,"../helpers/namespaces":609}],666:[function(require,module,exports){ +},{"../generated/utils.js":595,"../helpers/namespaces":613}],670:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -148689,7 +148751,7 @@ module.exports = { implementation: HTMLDListElementImpl }; -},{"./HTMLElement-impl":673}],667:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],671:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -148700,7 +148762,7 @@ module.exports = { implementation: HTMLDataElementImpl }; -},{"./HTMLElement-impl":673}],668:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],672:[function(require,module,exports){ "use strict"; const HTMLCollection = require("../generated/HTMLCollection"); @@ -148722,7 +148784,7 @@ module.exports = { implementation: HTMLDataListElementImpl }; -},{"../generated/HTMLCollection":451,"../helpers/traversal":622,"./HTMLElement-impl":673}],669:[function(require,module,exports){ +},{"../generated/HTMLCollection":455,"../helpers/traversal":626,"./HTMLElement-impl":677}],673:[function(require,module,exports){ "use strict"; const { fireAnEvent } = require("../helpers/events"); @@ -148759,7 +148821,7 @@ module.exports = { implementation: HTMLDetailsElementImpl }; -},{"../helpers/events":600,"./HTMLElement-impl":673}],670:[function(require,module,exports){ +},{"../helpers/events":604,"./HTMLElement-impl":677}],674:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -148770,7 +148832,7 @@ module.exports = { implementation: HTMLDialogElementImpl }; -},{"./HTMLElement-impl":673}],671:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],675:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -148781,7 +148843,7 @@ module.exports = { implementation: HTMLDirectoryElementImpl }; -},{"./HTMLElement-impl":673}],672:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],676:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -148792,7 +148854,7 @@ module.exports = { implementation: HTMLDivElementImpl }; -},{"./HTMLElement-impl":673}],673:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],677:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); const ElementImpl = require("./Element-impl").implementation; @@ -148954,7 +149016,7 @@ module.exports = { implementation: HTMLElementImpl }; -},{"../../utils":776,"../generated/MouseEvent":529,"../helpers/events":600,"../helpers/form-controls":602,"../helpers/strings":616,"../helpers/traversal":622,"./Element-impl":654,"./ElementCSSInlineStyle-impl":655,"./GlobalEventHandlers-impl":656,"./HTMLOrSVGElement-impl":704}],674:[function(require,module,exports){ +},{"../../utils":780,"../generated/MouseEvent":533,"../helpers/events":604,"../helpers/form-controls":606,"../helpers/strings":620,"../helpers/traversal":626,"./Element-impl":658,"./ElementCSSInlineStyle-impl":659,"./GlobalEventHandlers-impl":660,"./HTMLOrSVGElement-impl":708}],678:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -148964,7 +149026,7 @@ module.exports = { implementation: HTMLEmbedElementImpl }; -},{"./HTMLElement-impl":673}],675:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],679:[function(require,module,exports){ "use strict"; const HTMLCollection = require("../generated/HTMLCollection"); const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -149009,7 +149071,7 @@ module.exports = { implementation: HTMLFieldSetElementImpl }; -},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../generated/HTMLCollection":451,"../helpers/form-controls":602,"../helpers/traversal":622,"./HTMLElement-impl":673}],676:[function(require,module,exports){ +},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../generated/HTMLCollection":455,"../helpers/form-controls":606,"../helpers/traversal":626,"./HTMLElement-impl":677}],680:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -149020,7 +149082,7 @@ module.exports = { implementation: HTMLFontElementImpl }; -},{"./HTMLElement-impl":673}],677:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],681:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -149248,7 +149310,7 @@ module.exports = { implementation: HTMLFormElementImpl }; -},{"../../browser/not-implemented":337,"../generated/HTMLCollection":451,"../helpers/document-base-url":599,"../helpers/events":600,"../helpers/form-controls":602,"../helpers/internal-constants":605,"./HTMLElement-impl":673,"domexception/webidl2js-wrapper":243,"whatwg-url":1113}],678:[function(require,module,exports){ +},{"../../browser/not-implemented":341,"../generated/HTMLCollection":455,"../helpers/document-base-url":603,"../helpers/events":604,"../helpers/form-controls":606,"../helpers/internal-constants":609,"./HTMLElement-impl":677,"domexception/webidl2js-wrapper":247,"whatwg-url":1117}],682:[function(require,module,exports){ "use strict"; const MIMEType = require("whatwg-mimetype"); @@ -149511,7 +149573,7 @@ module.exports = { implementation: HTMLFrameElementImpl }; -},{"../../browser/Window":334,"../../browser/parser":339,"../attributes":351,"../generated/utils":591,"../helpers/document-base-url":599,"../helpers/events":600,"../window/navigation":769,"./HTMLElement-impl":673,"html-encoding-sniffer":320,"whatwg-encoding":1078,"whatwg-mimetype":1098,"whatwg-url":1113}],679:[function(require,module,exports){ +},{"../../browser/Window":338,"../../browser/parser":343,"../attributes":355,"../generated/utils":595,"../helpers/document-base-url":603,"../helpers/events":604,"../window/navigation":773,"./HTMLElement-impl":677,"html-encoding-sniffer":324,"whatwg-encoding":1082,"whatwg-mimetype":1102,"whatwg-url":1117}],683:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -149530,7 +149592,7 @@ module.exports = { implementation: HTMLFrameSetElementImpl }; -},{"../../utils":776,"./HTMLElement-impl":673,"./WindowEventHandlers-impl":746}],680:[function(require,module,exports){ +},{"../../utils":780,"./HTMLElement-impl":677,"./WindowEventHandlers-impl":750}],684:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -149541,7 +149603,7 @@ module.exports = { implementation: HTMLHRElementImpl }; -},{"./HTMLElement-impl":673}],681:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],685:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -149552,7 +149614,7 @@ module.exports = { implementation: HTMLHeadElementImpl }; -},{"./HTMLElement-impl":673}],682:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],686:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -149563,7 +149625,7 @@ module.exports = { implementation: HTMLHeadingElementImpl }; -},{"./HTMLElement-impl":673}],683:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],687:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -149574,7 +149636,7 @@ module.exports = { implementation: HTMLHtmlElementImpl }; -},{"./HTMLElement-impl":673}],684:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],688:[function(require,module,exports){ "use strict"; const whatwgURL = require("whatwg-url"); const { parseURLToResultingURLRecord } = require("../helpers/document-base-url"); @@ -149947,7 +150009,7 @@ function updateHref(hheu) { hheu.setAttributeNS(null, "href", whatwgURL.serializeURL(hheu.url)); } -},{"../helpers/document-base-url":599,"../helpers/strings":616,"../window/navigation":769,"whatwg-url":1113}],685:[function(require,module,exports){ +},{"../helpers/document-base-url":603,"../helpers/strings":620,"../window/navigation":773,"whatwg-url":1117}],689:[function(require,module,exports){ "use strict"; const HTMLFrameElementImpl = require("./HTMLFrameElement-impl").implementation; @@ -149958,7 +150020,7 @@ module.exports = { implementation: HTMLIFrameElementImpl }; -},{"./HTMLFrameElement-impl":678}],686:[function(require,module,exports){ +},{"./HTMLFrameElement-impl":682}],690:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); const { serializeURL } = require("whatwg-url"); @@ -150092,7 +150154,7 @@ module.exports = { implementation: HTMLImageElementImpl }; -},{"../../utils":776,"../helpers/document-base-url":599,"./HTMLElement-impl":673,"webidl-conversions":1075,"whatwg-url":1113}],687:[function(require,module,exports){ +},{"../../utils":780,"../helpers/document-base-url":603,"./HTMLElement-impl":677,"webidl-conversions":1079,"whatwg-url":1117}],691:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); const FileList = require("../generated/FileList"); @@ -151222,7 +151284,7 @@ module.exports = { implementation: HTMLInputElementImpl }; -},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../generated/FileList":435,"../generated/ValidityState":581,"../generated/utils":591,"../helpers/dates-and-times":597,"../helpers/events":600,"../helpers/form-controls":602,"../helpers/internal-constants":605,"../helpers/number-and-date-inputs":611,"../helpers/strings":616,"./HTMLElement-impl":673,"decimal.js":225,"domexception/webidl2js-wrapper":243}],688:[function(require,module,exports){ +},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../generated/FileList":439,"../generated/ValidityState":585,"../generated/utils":595,"../helpers/dates-and-times":601,"../helpers/events":604,"../helpers/form-controls":606,"../helpers/internal-constants":609,"../helpers/number-and-date-inputs":615,"../helpers/strings":620,"./HTMLElement-impl":677,"decimal.js":229,"domexception/webidl2js-wrapper":247}],692:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -151233,7 +151295,7 @@ module.exports = { implementation: HTMLLIElementImpl }; -},{"./HTMLElement-impl":673}],689:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],693:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -151329,7 +151391,7 @@ module.exports = { implementation: HTMLLabelElementImpl }; -},{"../generated/MouseEvent":529,"../helpers/events":600,"../helpers/form-controls":602,"../helpers/internal-constants":605,"../helpers/node":610,"../node-type":641,"./HTMLElement-impl":673}],690:[function(require,module,exports){ +},{"../generated/MouseEvent":533,"../helpers/events":604,"../helpers/form-controls":606,"../helpers/internal-constants":609,"../helpers/node":614,"../node-type":645,"./HTMLElement-impl":677}],694:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; const { formOwner } = require("../helpers/form-controls"); @@ -151349,7 +151411,7 @@ module.exports = { implementation: HTMLLegendElementImpl }; -},{"../helpers/form-controls":602,"../helpers/namespaces":609,"./HTMLElement-impl":673}],691:[function(require,module,exports){ +},{"../helpers/form-controls":606,"../helpers/namespaces":613,"./HTMLElement-impl":677}],695:[function(require,module,exports){ "use strict"; const DOMTokenList = require("../generated/DOMTokenList"); const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -151452,7 +151514,7 @@ function isExternalResourceLink(el) { return el.hasAttributeNS(null, "href"); } -},{"../generated/DOMTokenList":416,"../generated/utils":591,"../helpers/document-base-url":599,"../helpers/stylesheets":618,"./HTMLElement-impl":673,"whatwg-url":1113}],692:[function(require,module,exports){ +},{"../generated/DOMTokenList":420,"../generated/utils":595,"../helpers/document-base-url":603,"../helpers/stylesheets":622,"./HTMLElement-impl":677,"whatwg-url":1117}],696:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -151467,7 +151529,7 @@ module.exports = { implementation: HTMLMapElementImpl }; -},{"./HTMLElement-impl":673}],693:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],697:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -151478,7 +151540,7 @@ module.exports = { implementation: HTMLMarqueeElementImpl }; -},{"./HTMLElement-impl":673}],694:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],698:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -151618,7 +151680,7 @@ module.exports = { implementation: HTMLMediaElementImpl }; -},{"../../browser/not-implemented":337,"../helpers/events":600,"./HTMLElement-impl":673,"domexception/webidl2js-wrapper":243}],695:[function(require,module,exports){ +},{"../../browser/not-implemented":341,"../helpers/events":604,"./HTMLElement-impl":677,"domexception/webidl2js-wrapper":247}],699:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -151629,7 +151691,7 @@ module.exports = { implementation: HTMLMenuElementImpl }; -},{"./HTMLElement-impl":673}],696:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],700:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -151640,7 +151702,7 @@ module.exports = { implementation: HTMLMetaElementImpl }; -},{"./HTMLElement-impl":673}],697:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],701:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -151822,7 +151884,7 @@ module.exports = { implementation: HTMLMeterElementImpl }; -},{"../helpers/form-controls":602,"../helpers/strings":616,"./HTMLElement-impl":673}],698:[function(require,module,exports){ +},{"../helpers/form-controls":606,"../helpers/strings":620,"./HTMLElement-impl":677}],702:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -151833,7 +151895,7 @@ module.exports = { implementation: HTMLModElementImpl }; -},{"./HTMLElement-impl":673}],699:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],703:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -151857,7 +151919,7 @@ module.exports = { implementation: HTMLOListElementImpl }; -},{"./HTMLElement-impl":673}],700:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],704:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; const DefaultConstraintValidationImpl = @@ -151885,7 +151947,7 @@ module.exports = { implementation: HTMLObjectElementImpl }; -},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../helpers/form-controls":602,"./HTMLElement-impl":673}],701:[function(require,module,exports){ +},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../helpers/form-controls":606,"./HTMLElement-impl":677}],705:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -151896,7 +151958,7 @@ module.exports = { implementation: HTMLOptGroupElementImpl }; -},{"./HTMLElement-impl":673}],702:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],706:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -152044,7 +152106,7 @@ module.exports = { implementation: HTMLOptionElementImpl }; -},{"../helpers/form-controls":602,"../helpers/internal-constants":605,"../helpers/namespaces":609,"../helpers/strings":616,"../helpers/traversal":622,"../node-type":641,"./HTMLElement-impl":673}],703:[function(require,module,exports){ +},{"../helpers/form-controls":606,"../helpers/internal-constants":609,"../helpers/namespaces":613,"../helpers/strings":620,"../helpers/traversal":626,"../node-type":645,"./HTMLElement-impl":677}],707:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils.js"); @@ -152156,7 +152218,7 @@ exports.implementation = class HTMLOptionsCollectionImpl extends HTMLCollectionI } }; -},{"../generated/Element":420,"../generated/Node":537,"../generated/utils.js":591,"../node-document-position":640,"./HTMLCollection-impl":665,"domexception/webidl2js-wrapper":243}],704:[function(require,module,exports){ +},{"../generated/Element":424,"../generated/Node":541,"../generated/utils.js":595,"../node-document-position":644,"./HTMLCollection-impl":669,"domexception/webidl2js-wrapper":247}],708:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -152243,7 +152305,7 @@ class HTMLOrSVGElementImpl { exports.implementation = HTMLOrSVGElementImpl; -},{"../generated/DOMStringMap":415,"../helpers/details":598,"../helpers/focusing":601,"../helpers/namespaces":609,"webidl-conversions":1075}],705:[function(require,module,exports){ +},{"../generated/DOMStringMap":419,"../helpers/details":602,"../helpers/focusing":605,"../helpers/namespaces":613,"webidl-conversions":1079}],709:[function(require,module,exports){ "use strict"; const DOMTokenList = require("../generated/DOMTokenList"); @@ -152333,7 +152395,7 @@ module.exports = { implementation: HTMLOutputElementImpl }; -},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../generated/DOMTokenList":416,"../helpers/form-controls":602,"./HTMLElement-impl":673}],706:[function(require,module,exports){ +},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../generated/DOMTokenList":420,"../helpers/form-controls":606,"./HTMLElement-impl":677}],710:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -152344,7 +152406,7 @@ module.exports = { implementation: HTMLParagraphElementImpl }; -},{"./HTMLElement-impl":673}],707:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],711:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -152355,7 +152417,7 @@ module.exports = { implementation: HTMLParamElementImpl }; -},{"./HTMLElement-impl":673}],708:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],712:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -152366,7 +152428,7 @@ module.exports = { implementation: HTMLPictureElementImpl }; -},{"./HTMLElement-impl":673}],709:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],713:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -152377,7 +152439,7 @@ module.exports = { implementation: HTMLPreElementImpl }; -},{"./HTMLElement-impl":673}],710:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],714:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -152453,7 +152515,7 @@ module.exports = { implementation: HTMLProgressElementImpl }; -},{"../helpers/form-controls":602,"../helpers/strings":616,"./HTMLElement-impl":673}],711:[function(require,module,exports){ +},{"../helpers/form-controls":606,"../helpers/strings":620,"./HTMLElement-impl":677}],715:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -152464,7 +152526,7 @@ module.exports = { implementation: HTMLQuoteElementImpl }; -},{"./HTMLElement-impl":673}],712:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],716:[function(require,module,exports){ "use strict"; const vm = require("vm"); const whatwgEncoding = require("whatwg-encoding"); @@ -152731,7 +152793,7 @@ module.exports = { implementation: HTMLScriptElementImpl }; -},{"../helpers/document-base-url":599,"../helpers/events":600,"../helpers/internal-constants":605,"../helpers/runtime-script-errors":613,"../helpers/strings":616,"../helpers/text":621,"../node-type":641,"./HTMLElement-impl":673,"vm":778,"whatwg-encoding":1078,"whatwg-mimetype":1098,"whatwg-url":1113}],713:[function(require,module,exports){ +},{"../helpers/document-base-url":603,"../helpers/events":604,"../helpers/internal-constants":609,"../helpers/runtime-script-errors":617,"../helpers/strings":620,"../helpers/text":625,"../node-type":645,"./HTMLElement-impl":677,"vm":782,"whatwg-encoding":1082,"whatwg-mimetype":1102,"whatwg-url":1117}],717:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -153016,7 +153078,7 @@ module.exports = { implementation: HTMLSelectElementImpl }; -},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../generated/HTMLCollection":451,"../generated/HTMLOptionsCollection":488,"../generated/ValidityState":581,"../generated/utils.js":591,"../helpers/form-controls":602,"../helpers/internal-constants":605,"../helpers/strings":616,"../node-type":641,"./HTMLElement-impl":673,"webidl-conversions":1075}],714:[function(require,module,exports){ +},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../generated/HTMLCollection":455,"../generated/HTMLOptionsCollection":492,"../generated/ValidityState":585,"../generated/utils.js":595,"../helpers/form-controls":606,"../helpers/internal-constants":609,"../helpers/strings":620,"../node-type":645,"./HTMLElement-impl":677,"webidl-conversions":1079}],718:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils"); @@ -153077,7 +153139,7 @@ module.exports = { implementation: HTMLSlotElementImpl }; -},{"../generated/HTMLElement":459,"../generated/utils":591,"../helpers/node":610,"../helpers/shadow-dom":615,"./HTMLElement-impl":673}],715:[function(require,module,exports){ +},{"../generated/HTMLElement":463,"../generated/utils":595,"../helpers/node":614,"../helpers/shadow-dom":619,"./HTMLElement-impl":677}],719:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -153087,7 +153149,7 @@ module.exports = { implementation: HTMLSourceElementImpl }; -},{"./HTMLElement-impl":673}],716:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],720:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -153098,7 +153160,7 @@ module.exports = { implementation: HTMLSpanElementImpl }; -},{"./HTMLElement-impl":673}],717:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],721:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; const { removeStylesheet, createStylesheet } = require("../helpers/stylesheets"); @@ -153174,7 +153236,7 @@ module.exports = { implementation: HTMLStyleElementImpl }; -},{"../helpers/document-base-url":599,"../helpers/strings":616,"../helpers/stylesheets":618,"../helpers/text":621,"./HTMLElement-impl":673}],718:[function(require,module,exports){ +},{"../helpers/document-base-url":603,"../helpers/strings":620,"../helpers/stylesheets":622,"../helpers/text":625,"./HTMLElement-impl":677}],722:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -153185,7 +153247,7 @@ module.exports = { implementation: HTMLTableCaptionElementImpl }; -},{"./HTMLElement-impl":673}],719:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],723:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -153260,7 +153322,7 @@ module.exports = { implementation: HTMLTableCellElementImpl }; -},{"../helpers/strings":616,"../helpers/traversal":622,"./HTMLElement-impl":673}],720:[function(require,module,exports){ +},{"../helpers/strings":620,"../helpers/traversal":626,"./HTMLElement-impl":677}],724:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -153271,7 +153333,7 @@ module.exports = { implementation: HTMLTableColElementImpl }; -},{"./HTMLElement-impl":673}],721:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],725:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -153509,7 +153571,7 @@ module.exports = { implementation: HTMLTableElementImpl }; -},{"../generated/HTMLCollection":451,"../helpers/internal-constants":605,"../helpers/namespaces":609,"../helpers/traversal":622,"../node-type":641,"./HTMLElement-impl":673,"domexception/webidl2js-wrapper":243}],722:[function(require,module,exports){ +},{"../generated/HTMLCollection":455,"../helpers/internal-constants":609,"../helpers/namespaces":613,"../helpers/traversal":626,"../node-type":645,"./HTMLElement-impl":677,"domexception/webidl2js-wrapper":247}],726:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -153599,7 +153661,7 @@ module.exports = { implementation: HTMLTableRowElementImpl }; -},{"../generated/HTMLCollection":451,"../helpers/internal-constants":605,"../helpers/namespaces":609,"../helpers/traversal":622,"./HTMLElement-impl":673,"domexception/webidl2js-wrapper":243}],723:[function(require,module,exports){ +},{"../generated/HTMLCollection":455,"../helpers/internal-constants":609,"../helpers/namespaces":613,"../helpers/traversal":626,"./HTMLElement-impl":677,"domexception/webidl2js-wrapper":247}],727:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -153662,7 +153724,7 @@ module.exports = { implementation: HTMLTableSectionElementImpl }; -},{"../generated/HTMLCollection":451,"../helpers/traversal":622,"./HTMLElement-impl":673,"domexception/webidl2js-wrapper":243}],724:[function(require,module,exports){ +},{"../generated/HTMLCollection":455,"../helpers/traversal":626,"./HTMLElement-impl":677,"domexception/webidl2js-wrapper":247}],728:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -153731,7 +153793,7 @@ module.exports = { implementation: HTMLTemplateElementImpl }; -},{"../generated/Document":417,"../generated/DocumentFragment":418,"../helpers/internal-constants":605,"../node":642,"./HTMLElement-impl":673}],725:[function(require,module,exports){ +},{"../generated/Document":421,"../generated/DocumentFragment":422,"../helpers/internal-constants":609,"../node":646,"./HTMLElement-impl":677}],729:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -153977,7 +154039,7 @@ module.exports = { implementation: HTMLTextAreaElementImpl }; -},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../generated/ValidityState":581,"../helpers/events":600,"../helpers/form-controls":602,"../helpers/internal-constants":605,"../helpers/text":621,"./HTMLElement-impl":673,"domexception/webidl2js-wrapper":243}],726:[function(require,module,exports){ +},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../generated/ValidityState":585,"../helpers/events":604,"../helpers/form-controls":606,"../helpers/internal-constants":609,"../helpers/text":625,"./HTMLElement-impl":677,"domexception/webidl2js-wrapper":247}],730:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -153988,7 +154050,7 @@ module.exports = { implementation: HTMLTimeElementImpl }; -},{"./HTMLElement-impl":673}],727:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],731:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -154008,7 +154070,7 @@ module.exports = { implementation: HTMLTitleElementImpl }; -},{"../helpers/text":621,"./HTMLElement-impl":673}],728:[function(require,module,exports){ +},{"../helpers/text":625,"./HTMLElement-impl":677}],732:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -154023,7 +154085,7 @@ module.exports = { implementation: HTMLTrackElementImpl }; -},{"./HTMLElement-impl":673}],729:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],733:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -154034,7 +154096,7 @@ module.exports = { implementation: HTMLUListElementImpl }; -},{"./HTMLElement-impl":673}],730:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],734:[function(require,module,exports){ "use strict"; const HTMLElementImpl = require("./HTMLElement-impl").implementation; @@ -154045,7 +154107,7 @@ module.exports = { implementation: HTMLUnknownElementImpl }; -},{"./HTMLElement-impl":673}],731:[function(require,module,exports){ +},{"./HTMLElement-impl":677}],735:[function(require,module,exports){ "use strict"; const HTMLMediaElementImpl = require("./HTMLMediaElement-impl").implementation; @@ -154064,7 +154126,7 @@ module.exports = { implementation: HTMLVideoElementImpl }; -},{"./HTMLMediaElement-impl":694}],732:[function(require,module,exports){ +},{"./HTMLMediaElement-impl":698}],736:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -155231,7 +155293,7 @@ module.exports = { implementation: NodeImpl }; -},{"../../utils":776,"../attributes":351,"../events/EventTarget-impl":370,"../generated/NodeList":540,"../helpers/custom-elements":596,"../helpers/document-base-url":599,"../helpers/internal-constants":605,"../helpers/mutation-observers":608,"../helpers/node":610,"../helpers/shadow-dom":615,"../node":642,"../node-document-position":640,"../node-type":641,"domexception/webidl2js-wrapper":243}],733:[function(require,module,exports){ +},{"../../utils":780,"../attributes":355,"../events/EventTarget-impl":374,"../generated/NodeList":544,"../helpers/custom-elements":600,"../helpers/document-base-url":603,"../helpers/internal-constants":609,"../helpers/mutation-observers":612,"../helpers/node":614,"../helpers/shadow-dom":619,"../node":646,"../node-document-position":644,"../node-type":645,"domexception/webidl2js-wrapper":247}],737:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils.js"); @@ -155276,7 +155338,7 @@ exports.implementation = class NodeListImpl { } }; -},{"../generated/utils.js":591}],734:[function(require,module,exports){ +},{"../generated/utils.js":595}],738:[function(require,module,exports){ "use strict"; const { domSymbolTree } = require("../helpers/internal-constants"); @@ -155306,7 +155368,7 @@ module.exports = { implementation: NonDocumentTypeChildNodeImpl }; -},{"../helpers/internal-constants":605,"../node-type":641}],735:[function(require,module,exports){ +},{"../helpers/internal-constants":609,"../node-type":645}],739:[function(require,module,exports){ "use strict"; // https://dom.spec.whatwg.org/#interface-nonelementparentnode @@ -155319,7 +155381,7 @@ module.exports = { implementation: NonElementParentNodeImpl }; -},{}],736:[function(require,module,exports){ +},{}],740:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils"); @@ -155412,7 +155474,7 @@ module.exports = { implementation: ParentNodeImpl }; -},{"../generated/HTMLCollection":451,"../generated/NodeList":540,"../generated/utils":591,"../helpers/internal-constants":605,"../helpers/selectors":614,"../node":642,"../node-type":641}],737:[function(require,module,exports){ +},{"../generated/HTMLCollection":455,"../generated/NodeList":544,"../generated/utils":595,"../helpers/internal-constants":609,"../helpers/selectors":618,"../node":646,"../node-type":645}],741:[function(require,module,exports){ "use strict"; const CharacterDataImpl = require("./CharacterData-impl").implementation; @@ -155436,7 +155498,7 @@ module.exports = { implementation: ProcessingInstructionImpl }; -},{"../node-type":641,"./CharacterData-impl":644}],738:[function(require,module,exports){ +},{"../node-type":645,"./CharacterData-impl":648}],742:[function(require,module,exports){ "use strict"; const { domSymbolTree } = require("../helpers/internal-constants"); @@ -155502,7 +155564,7 @@ mixin(SVGElementImpl.prototype, HTMLOrSVGElementImpl.prototype); exports.implementation = SVGElementImpl; -},{"../../utils":776,"../generated/SVGAnimatedString":554,"../helpers/internal-constants":605,"../helpers/namespaces":609,"./Element-impl":654,"./ElementCSSInlineStyle-impl":655,"./GlobalEventHandlers-impl":656,"./HTMLOrSVGElement-impl":704}],739:[function(require,module,exports){ +},{"../../utils":780,"../generated/SVGAnimatedString":558,"../helpers/internal-constants":609,"../helpers/namespaces":613,"./Element-impl":658,"./ElementCSSInlineStyle-impl":659,"./GlobalEventHandlers-impl":660,"./HTMLOrSVGElement-impl":708}],743:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); @@ -155520,7 +155582,7 @@ mixin(SVGGraphicsElementImpl.prototype, SVGTestsImpl.prototype); exports.implementation = SVGGraphicsElementImpl; -},{"../../utils":776,"./SVGElement-impl":738,"./SVGTests-impl":741}],740:[function(require,module,exports){ +},{"../../utils":780,"./SVGElement-impl":742,"./SVGTests-impl":745}],744:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); @@ -155564,7 +155626,7 @@ module.exports = { implementation: SVGSVGElementImpl }; -},{"../../utils":776,"../generated/SVGNumber":557,"../helpers/internal-constants":605,"../node-type":641,"./SVGGraphicsElement-impl":739,"./WindowEventHandlers-impl":746}],741:[function(require,module,exports){ +},{"../../utils":780,"../generated/SVGNumber":561,"../helpers/internal-constants":609,"../node-type":645,"./SVGGraphicsElement-impl":743,"./WindowEventHandlers-impl":750}],745:[function(require,module,exports){ "use strict"; const { splitOnASCIIWhitespace, splitOnCommas } = require("../helpers/strings"); @@ -155608,7 +155670,7 @@ SVGTestsImpl.attributeRegistry = new Map([ exports.implementation = SVGTestsImpl; -},{"../generated/SVGStringList":559,"../helpers/strings":616,"../helpers/svg/basic-types":619}],742:[function(require,module,exports){ +},{"../generated/SVGStringList":563,"../helpers/strings":620,"../helpers/svg/basic-types":623}],746:[function(require,module,exports){ "use strict"; const SVGElementImpl = require("./SVGElement-impl").implementation; @@ -155619,7 +155681,7 @@ module.exports = { implementation: SVGTitleElementImpl }; -},{"./SVGElement-impl":738}],743:[function(require,module,exports){ +},{"./SVGElement-impl":742}],747:[function(require,module,exports){ "use strict"; const { nodeRoot } = require("../helpers/node"); @@ -155661,7 +155723,7 @@ module.exports = { implementation: ShadowRootImpl }; -},{"../../utils":776,"../domparsing/InnerHTML-impl":360,"../helpers/node":610,"./DocumentFragment-impl":651,"./DocumentOrShadowRoot-impl":652}],744:[function(require,module,exports){ +},{"../../utils":780,"../domparsing/InnerHTML-impl":364,"../helpers/node":614,"./DocumentFragment-impl":655,"./DocumentOrShadowRoot-impl":656}],748:[function(require,module,exports){ "use strict"; const { findSlot, assignSlot, assignSlotable } = require("../helpers/shadow-dom"); @@ -155711,7 +155773,7 @@ module.exports = { implementation: SlotableMixinImpl }; -},{"../helpers/shadow-dom":615}],745:[function(require,module,exports){ +},{"../helpers/shadow-dom":619}],749:[function(require,module,exports){ "use strict"; const SlotableMixinImpl = require("./Slotable-impl").implementation; const CharacterDataImpl = require("./CharacterData-impl").implementation; @@ -155809,7 +155871,7 @@ module.exports = { implementation: TextImpl }; -},{"../../utils":776,"../generated/utils":591,"../helpers/internal-constants":605,"../node-type":641,"./CharacterData-impl":644,"./Slotable-impl":744,"domexception/webidl2js-wrapper":243}],746:[function(require,module,exports){ +},{"../../utils":780,"../generated/utils":595,"../helpers/internal-constants":609,"../node-type":645,"./CharacterData-impl":648,"./Slotable-impl":748,"domexception/webidl2js-wrapper":247}],750:[function(require,module,exports){ "use strict"; const { createEventAccessor } = require("../helpers/create-event-accessor"); @@ -155863,13 +155925,13 @@ module.exports = { implementation: WindowEventHandlersImpl }; -},{"../helpers/create-event-accessor":595}],747:[function(require,module,exports){ +},{"../helpers/create-event-accessor":599}],751:[function(require,module,exports){ "use strict"; const DocumentImpl = require("./Document-impl").implementation; exports.implementation = class XMLDocumentImpl extends DocumentImpl {}; -},{"./Document-impl":650}],748:[function(require,module,exports){ +},{"./Document-impl":654}],752:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); const MessageEvent = require("./generated/MessageEvent"); @@ -155910,7 +155972,7 @@ module.exports = function (globalObject) { }; }; -},{"../utils":776,"./generated/MessageEvent":525,"./generated/utils":591,"./helpers/events":600,"domexception/webidl2js-wrapper":243}],749:[function(require,module,exports){ +},{"../utils":780,"./generated/MessageEvent":529,"./generated/utils":595,"./helpers/events":604,"domexception/webidl2js-wrapper":247}],753:[function(require,module,exports){ "use strict"; // https://dom.spec.whatwg.org/#abstractrange @@ -155955,7 +156017,7 @@ module.exports = { implementation: AbstractRangeImpl }; -},{}],750:[function(require,module,exports){ +},{}],754:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -156846,7 +156908,7 @@ module.exports = { setBoundaryPointEnd }; -},{"../../browser/parser/index":339,"../generated/DocumentFragment":418,"../generated/Range":553,"../generated/utils":591,"../helpers/create-element":594,"../helpers/internal-constants":605,"../helpers/namespaces":609,"../helpers/node":610,"../node":642,"../node-type":641,"./AbstractRange-impl":749,"./boundary-point":752,"domexception/webidl2js-wrapper":243}],751:[function(require,module,exports){ +},{"../../browser/parser/index":343,"../generated/DocumentFragment":422,"../generated/Range":557,"../generated/utils":595,"../helpers/create-element":598,"../helpers/internal-constants":609,"../helpers/namespaces":613,"../helpers/node":614,"../node":646,"../node-type":645,"./AbstractRange-impl":753,"./boundary-point":756,"domexception/webidl2js-wrapper":247}],755:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -156887,7 +156949,7 @@ module.exports = { implementation: StaticRangeImpl }; -},{"../node-type":641,"./AbstractRange-impl":749,"domexception/webidl2js-wrapper":243}],752:[function(require,module,exports){ +},{"../node-type":645,"./AbstractRange-impl":753,"domexception/webidl2js-wrapper":247}],756:[function(require,module,exports){ "use strict"; const { domSymbolTree } = require("../helpers/internal-constants"); @@ -156936,7 +156998,7 @@ module.exports = { compareBoundaryPointsPosition }; -},{"../helpers/internal-constants":605,"../helpers/node":610}],753:[function(require,module,exports){ +},{"../helpers/internal-constants":609,"../helpers/node":614}],757:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -157280,7 +157342,7 @@ module.exports = { implementation: SelectionImpl }; -},{"../generated/Range":553,"../generated/utils":591,"../helpers/internal-constants":605,"../helpers/node":610,"../node-type":641,"../range/Range-impl":750,"../range/boundary-point":752,"domexception/webidl2js-wrapper":243}],754:[function(require,module,exports){ +},{"../generated/Range":557,"../generated/utils":595,"../helpers/internal-constants":609,"../helpers/node":614,"../node-type":645,"../range/Range-impl":754,"../range/boundary-point":756,"domexception/webidl2js-wrapper":247}],758:[function(require,module,exports){ "use strict"; class SVGAnimatedStringImpl { @@ -157320,7 +157382,7 @@ class SVGAnimatedStringImpl { exports.implementation = SVGAnimatedStringImpl; -},{}],755:[function(require,module,exports){ +},{}],759:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -157517,7 +157579,7 @@ class List { module.exports = List; -},{"../generated/utils":591,"../helpers/svg/basic-types":619,"domexception/webidl2js-wrapper":243}],756:[function(require,module,exports){ +},{"../generated/utils":595,"../helpers/svg/basic-types":623,"domexception/webidl2js-wrapper":247}],760:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -157567,7 +157629,7 @@ class SVGNumberImpl { exports.implementation = SVGNumberImpl; -},{"domexception/webidl2js-wrapper":243}],757:[function(require,module,exports){ +},{"domexception/webidl2js-wrapper":247}],761:[function(require,module,exports){ "use strict"; const { mixin } = require("../../utils"); @@ -157585,7 +157647,7 @@ mixin(SVGStringListImpl.prototype, SVGListBase.prototype); exports.implementation = SVGStringListImpl; -},{"../../utils":776,"./SVGListBase":755}],758:[function(require,module,exports){ +},{"../../utils":780,"./SVGListBase":759}],762:[function(require,module,exports){ "use strict"; const { hasWeakRefs } = require("../../utils"); const { domSymbolTree } = require("../helpers/internal-constants"); @@ -157714,7 +157776,7 @@ exports.implementation = class NodeIteratorImpl { } }; -},{"../../utils":776,"../helpers/internal-constants":605,"./helpers":760}],759:[function(require,module,exports){ +},{"../../utils":780,"../helpers/internal-constants":609,"./helpers":764}],763:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -157933,7 +157995,7 @@ exports.implementation = class TreeWalkerImpl { } }; -},{"./helpers":760,"domexception/webidl2js-wrapper":243}],760:[function(require,module,exports){ +},{"./helpers":764,"domexception/webidl2js-wrapper":247}],764:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); const conversions = require("webidl-conversions"); @@ -157979,7 +158041,7 @@ exports.filter = (nodeIteratorOrTreeWalkerImpl, nodeImpl) => { return result; }; -},{"domexception/webidl2js-wrapper":243,"webidl-conversions":1075}],761:[function(require,module,exports){ +},{"domexception/webidl2js-wrapper":247,"webidl-conversions":1079}],765:[function(require,module,exports){ (function (Buffer){(function (){ /* eslint-env browser */ @@ -158158,7 +158220,7 @@ setupForSimpleEventAccessors(WebSocketImpl.prototype, ["open", "message", "error exports.implementation = WebSocketImpl; }).call(this)}).call(this,require("buffer").Buffer) -},{"../events/EventTarget-impl":370,"../generated/Blob":399,"../generated/CloseEvent":404,"../generated/MessageEvent":525,"../generated/utils":591,"../helpers/create-event-accessor":595,"../helpers/events":600,"buffer":124,"domexception/webidl2js-wrapper":243,"whatwg-url":1113}],762:[function(require,module,exports){ +},{"../events/EventTarget-impl":374,"../generated/Blob":403,"../generated/CloseEvent":408,"../generated/MessageEvent":529,"../generated/utils":595,"../helpers/create-event-accessor":599,"../helpers/events":604,"buffer":128,"domexception/webidl2js-wrapper":247,"whatwg-url":1117}],766:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); @@ -158262,7 +158324,7 @@ module.exports = { implementation: StorageImpl }; -},{"../generated/StorageEvent":570,"../generated/utils":591,"../helpers/events":600,"domexception/webidl2js-wrapper":243}],763:[function(require,module,exports){ +},{"../generated/StorageEvent":574,"../generated/utils":595,"../helpers/events":604,"domexception/webidl2js-wrapper":247}],767:[function(require,module,exports){ "use strict"; // https://html.spec.whatwg.org/multipage/window-object.html#browser-interface-elements @@ -158274,7 +158336,7 @@ BarPropImpl.prototype.visible = true; exports.implementation = BarPropImpl; -},{}],764:[function(require,module,exports){ +},{}],768:[function(require,module,exports){ "use strict"; // https://html.spec.whatwg.org/multipage/obsolete.html#dom-external @@ -158285,7 +158347,7 @@ exports.implementation = class ExternalImpl { IsSearchProviderInstalled() {} }; -},{}],765:[function(require,module,exports){ +},{}],769:[function(require,module,exports){ "use strict"; const DOMException = require("domexception/webidl2js-wrapper"); const { documentBaseURLSerialized, parseURLToResultingURLRecord } = require("../helpers/document-base-url.js"); @@ -158421,7 +158483,7 @@ exports.implementation = class HistoryImpl { } }; -},{"../helpers/document-base-url.js":599,"domexception/webidl2js-wrapper":243}],766:[function(require,module,exports){ +},{"../helpers/document-base-url.js":603,"domexception/webidl2js-wrapper":247}],770:[function(require,module,exports){ "use strict"; const whatwgURL = require("whatwg-url"); const DOMException = require("domexception/webidl2js-wrapper"); @@ -158661,7 +158723,7 @@ exports.implementation = class LocationImpl { } }; -},{"../helpers/document-base-url":599,"./navigation":769,"domexception/webidl2js-wrapper":243,"whatwg-url":1113}],767:[function(require,module,exports){ +},{"../helpers/document-base-url":603,"./navigation":773,"domexception/webidl2js-wrapper":247,"whatwg-url":1117}],771:[function(require,module,exports){ "use strict"; // https://drafts.csswg.org/cssom-view-1/#the-screen-interface @@ -158676,7 +158738,7 @@ ScreenImpl.prototype.pixelDepth = 24; exports.implementation = ScreenImpl; -},{}],768:[function(require,module,exports){ +},{}],772:[function(require,module,exports){ "use strict"; const whatwgURL = require("whatwg-url"); const HashChangeEvent = require("../generated/HashChangeEvent.js"); @@ -158841,7 +158903,7 @@ class SessionHistory { } module.exports = SessionHistory; -},{"../../browser/not-implemented.js":337,"../generated/HashChangeEvent.js":516,"../generated/PopStateEvent.js":548,"../generated/utils.js":591,"../helpers/events":600,"whatwg-url":1113}],769:[function(require,module,exports){ +},{"../../browser/not-implemented.js":341,"../generated/HashChangeEvent.js":520,"../generated/PopStateEvent.js":552,"../generated/utils.js":595,"../helpers/events":604,"whatwg-url":1117}],773:[function(require,module,exports){ (function (Buffer){(function (){ "use strict"; const whatwgURL = require("whatwg-url"); @@ -158929,7 +158991,7 @@ function urlEquals(a, b, flags) { } }).call(this)}).call(this,require("buffer").Buffer) -},{"../../browser/not-implemented.js":337,"../generated/utils.js":591,"../helpers/runtime-script-errors.js":613,"buffer":124,"whatwg-url":1113}],770:[function(require,module,exports){ +},{"../../browser/not-implemented.js":341,"../generated/utils.js":595,"../helpers/runtime-script-errors.js":617,"buffer":128,"whatwg-url":1117}],774:[function(require,module,exports){ "use strict"; const idlUtils = require("../generated/utils"); const { closest } = require("../helpers/traversal"); @@ -159107,7 +159169,7 @@ function appendAnEntry(entryList, name, value, preventLineBreakNormalization = f entryList.push(entry); } -},{"../generated/Blob.js":399,"../generated/File.js":434,"../generated/utils":591,"../helpers/form-controls":602,"../helpers/traversal":622,"webidl-conversions":1075}],771:[function(require,module,exports){ +},{"../generated/Blob.js":403,"../generated/File.js":438,"../generated/utils":595,"../helpers/form-controls":606,"../helpers/traversal":626,"webidl-conversions":1079}],775:[function(require,module,exports){ (function (process,Buffer){(function (){ "use strict"; @@ -160134,7 +160196,7 @@ function extractBody(bodyInit) { exports.implementation = XMLHttpRequestImpl; }).call(this)}).call(this,require('_process'),require("buffer").Buffer) -},{"../../browser/parser":339,"../domparsing/serialization":363,"../generated/Blob":399,"../generated/Document":417,"../generated/FormData":440,"../generated/ProgressEvent":551,"../generated/XMLHttpRequestUpload":589,"../generated/utils":591,"../helpers/binary-data":593,"../helpers/create-event-accessor":595,"../helpers/document-base-url":599,"../helpers/events":600,"../helpers/json":607,"../helpers/strings":616,"./XMLHttpRequestEventTarget-impl":772,"./xhr-utils":774,"_process":974,"buffer":124,"child_process":122,"domexception/webidl2js-wrapper":243,"http":1019,"tough-cookie":1044,"whatwg-encoding":1078,"whatwg-mimetype":1098,"whatwg-url":1113}],772:[function(require,module,exports){ +},{"../../browser/parser":343,"../domparsing/serialization":367,"../generated/Blob":403,"../generated/Document":421,"../generated/FormData":444,"../generated/ProgressEvent":555,"../generated/XMLHttpRequestUpload":593,"../generated/utils":595,"../helpers/binary-data":597,"../helpers/create-event-accessor":599,"../helpers/document-base-url":603,"../helpers/events":604,"../helpers/json":611,"../helpers/strings":620,"./XMLHttpRequestEventTarget-impl":776,"./xhr-utils":778,"_process":978,"buffer":128,"child_process":126,"domexception/webidl2js-wrapper":247,"http":1023,"tough-cookie":1048,"whatwg-encoding":1082,"whatwg-mimetype":1102,"whatwg-url":1117}],776:[function(require,module,exports){ "use strict"; const EventTargetImpl = require("../events/EventTarget-impl").implementation; const idlUtils = require("../generated/utils"); @@ -160153,13 +160215,13 @@ setupForSimpleEventAccessors(XMLHttpRequestEventTargetImpl.prototype, events); exports.implementation = XMLHttpRequestEventTargetImpl; -},{"../events/EventTarget-impl":370,"../generated/utils":591,"../helpers/create-event-accessor":595}],773:[function(require,module,exports){ +},{"../events/EventTarget-impl":374,"../generated/utils":595,"../helpers/create-event-accessor":599}],777:[function(require,module,exports){ "use strict"; const XMLHttpRequestEventTargetImpl = require("./XMLHttpRequestEventTarget-impl").implementation; exports.implementation = class XMLHttpRequestUploadImpl extends XMLHttpRequestEventTargetImpl {}; -},{"./XMLHttpRequestEventTarget-impl":772}],774:[function(require,module,exports){ +},{"./XMLHttpRequestEventTarget-impl":776}],778:[function(require,module,exports){ (function (process,Buffer,setImmediate){(function (){ "use strict"; const fs = require("fs"); @@ -160601,7 +160663,7 @@ exports.setResponseToNetworkError = setResponseToNetworkError; exports.createClient = createClient; }).call(this)}).call(this,require('_process'),require("buffer").Buffer,require("timers").setImmediate) -},{"../generated/ProgressEvent":551,"../helpers/agent-factory":592,"../helpers/events":600,"../helpers/http-request":604,"_process":974,"buffer":124,"data-urls":221,"domexception/webidl2js-wrapper":243,"events":280,"form-data":283,"fs":122,"timers":1043,"whatwg-url":1113}],775:[function(require,module,exports){ +},{"../generated/ProgressEvent":555,"../helpers/agent-factory":596,"../helpers/events":604,"../helpers/http-request":608,"_process":978,"buffer":128,"data-urls":225,"domexception/webidl2js-wrapper":247,"events":284,"form-data":287,"fs":126,"timers":1047,"whatwg-url":1117}],779:[function(require,module,exports){ "use strict"; // https://heycam.github.io/webidl/#idl-named-properties @@ -160761,7 +160823,7 @@ NamedPropertiesTracker.prototype.untrack = function (name, value) { delete this.object[name]; }; -},{}],776:[function(require,module,exports){ +},{}],780:[function(require,module,exports){ (function (process){(function (){ "use strict"; const path = require("path"); @@ -160930,7 +160992,7 @@ if (canvasInstalled) { } }).call(this)}).call(this,require('_process')) -},{"./living/helpers/internal-constants":605,"_process":974,"canvas":77,"path":966,"symbol-tree":1039,"whatwg-url":1113}],777:[function(require,module,exports){ +},{"./living/helpers/internal-constants":609,"_process":978,"canvas":81,"path":970,"symbol-tree":1043,"whatwg-url":1117}],781:[function(require,module,exports){ "use strict"; const { EventEmitter } = require("events"); @@ -160966,7 +161028,7 @@ module.exports = class VirtualConsole extends EventEmitter { } }; -},{"events":280}],778:[function(require,module,exports){ +},{"events":284}],782:[function(require,module,exports){ (function (global){(function (){ "use strict"; /* eslint-disable no-new-func */ @@ -161076,7 +161138,7 @@ exports.Script = class VMShimScript { }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./browser/js-globals.json":336,"acorn":779,"acorn-globals":47,"escodegen":262}],779:[function(require,module,exports){ +},{"./browser/js-globals.json":340,"acorn":783,"acorn-globals":51,"escodegen":266}],783:[function(require,module,exports){ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : @@ -166603,7 +166665,7 @@ exports.Script = class VMShimScript { }))); -},{}],780:[function(require,module,exports){ +},{}],784:[function(require,module,exports){ module.exports={ "name": "jsdom", "version": "16.6.0", @@ -166721,7 +166783,7 @@ module.exports={ } } -},{}],781:[function(require,module,exports){ +},{}],785:[function(require,module,exports){ var getNative = require('./_getNative'), root = require('./_root'); @@ -166730,7 +166792,7 @@ var DataView = getNative(root, 'DataView'); module.exports = DataView; -},{"./_getNative":843,"./_root":881}],782:[function(require,module,exports){ +},{"./_getNative":847,"./_root":885}],786:[function(require,module,exports){ var hashClear = require('./_hashClear'), hashDelete = require('./_hashDelete'), hashGet = require('./_hashGet'), @@ -166764,7 +166826,7 @@ Hash.prototype.set = hashSet; module.exports = Hash; -},{"./_hashClear":849,"./_hashDelete":850,"./_hashGet":851,"./_hashHas":852,"./_hashSet":853}],783:[function(require,module,exports){ +},{"./_hashClear":853,"./_hashDelete":854,"./_hashGet":855,"./_hashHas":856,"./_hashSet":857}],787:[function(require,module,exports){ var listCacheClear = require('./_listCacheClear'), listCacheDelete = require('./_listCacheDelete'), listCacheGet = require('./_listCacheGet'), @@ -166798,7 +166860,7 @@ ListCache.prototype.set = listCacheSet; module.exports = ListCache; -},{"./_listCacheClear":862,"./_listCacheDelete":863,"./_listCacheGet":864,"./_listCacheHas":865,"./_listCacheSet":866}],784:[function(require,module,exports){ +},{"./_listCacheClear":866,"./_listCacheDelete":867,"./_listCacheGet":868,"./_listCacheHas":869,"./_listCacheSet":870}],788:[function(require,module,exports){ var getNative = require('./_getNative'), root = require('./_root'); @@ -166807,7 +166869,7 @@ var Map = getNative(root, 'Map'); module.exports = Map; -},{"./_getNative":843,"./_root":881}],785:[function(require,module,exports){ +},{"./_getNative":847,"./_root":885}],789:[function(require,module,exports){ var mapCacheClear = require('./_mapCacheClear'), mapCacheDelete = require('./_mapCacheDelete'), mapCacheGet = require('./_mapCacheGet'), @@ -166841,7 +166903,7 @@ MapCache.prototype.set = mapCacheSet; module.exports = MapCache; -},{"./_mapCacheClear":867,"./_mapCacheDelete":868,"./_mapCacheGet":869,"./_mapCacheHas":870,"./_mapCacheSet":871}],786:[function(require,module,exports){ +},{"./_mapCacheClear":871,"./_mapCacheDelete":872,"./_mapCacheGet":873,"./_mapCacheHas":874,"./_mapCacheSet":875}],790:[function(require,module,exports){ var getNative = require('./_getNative'), root = require('./_root'); @@ -166850,7 +166912,7 @@ var Promise = getNative(root, 'Promise'); module.exports = Promise; -},{"./_getNative":843,"./_root":881}],787:[function(require,module,exports){ +},{"./_getNative":847,"./_root":885}],791:[function(require,module,exports){ var getNative = require('./_getNative'), root = require('./_root'); @@ -166859,7 +166921,7 @@ var Set = getNative(root, 'Set'); module.exports = Set; -},{"./_getNative":843,"./_root":881}],788:[function(require,module,exports){ +},{"./_getNative":847,"./_root":885}],792:[function(require,module,exports){ var MapCache = require('./_MapCache'), setCacheAdd = require('./_setCacheAdd'), setCacheHas = require('./_setCacheHas'); @@ -166888,7 +166950,7 @@ SetCache.prototype.has = setCacheHas; module.exports = SetCache; -},{"./_MapCache":785,"./_setCacheAdd":882,"./_setCacheHas":883}],789:[function(require,module,exports){ +},{"./_MapCache":789,"./_setCacheAdd":886,"./_setCacheHas":887}],793:[function(require,module,exports){ var ListCache = require('./_ListCache'), stackClear = require('./_stackClear'), stackDelete = require('./_stackDelete'), @@ -166917,7 +166979,7 @@ Stack.prototype.set = stackSet; module.exports = Stack; -},{"./_ListCache":783,"./_stackClear":887,"./_stackDelete":888,"./_stackGet":889,"./_stackHas":890,"./_stackSet":891}],790:[function(require,module,exports){ +},{"./_ListCache":787,"./_stackClear":891,"./_stackDelete":892,"./_stackGet":893,"./_stackHas":894,"./_stackSet":895}],794:[function(require,module,exports){ var root = require('./_root'); /** Built-in value references. */ @@ -166925,7 +166987,7 @@ var Symbol = root.Symbol; module.exports = Symbol; -},{"./_root":881}],791:[function(require,module,exports){ +},{"./_root":885}],795:[function(require,module,exports){ var root = require('./_root'); /** Built-in value references. */ @@ -166933,7 +166995,7 @@ var Uint8Array = root.Uint8Array; module.exports = Uint8Array; -},{"./_root":881}],792:[function(require,module,exports){ +},{"./_root":885}],796:[function(require,module,exports){ var getNative = require('./_getNative'), root = require('./_root'); @@ -166942,7 +167004,7 @@ var WeakMap = getNative(root, 'WeakMap'); module.exports = WeakMap; -},{"./_getNative":843,"./_root":881}],793:[function(require,module,exports){ +},{"./_getNative":847,"./_root":885}],797:[function(require,module,exports){ /** * A faster alternative to `Function#apply`, this function invokes `func` * with the `this` binding of `thisArg` and the arguments of `args`. @@ -166965,7 +167027,7 @@ function apply(func, thisArg, args) { module.exports = apply; -},{}],794:[function(require,module,exports){ +},{}],798:[function(require,module,exports){ /** * A specialized version of `_.filter` for arrays without support for * iteratee shorthands. @@ -166992,7 +167054,7 @@ function arrayFilter(array, predicate) { module.exports = arrayFilter; -},{}],795:[function(require,module,exports){ +},{}],799:[function(require,module,exports){ var baseTimes = require('./_baseTimes'), isArguments = require('./isArguments'), isArray = require('./isArray'), @@ -167043,7 +167105,7 @@ function arrayLikeKeys(value, inherited) { module.exports = arrayLikeKeys; -},{"./_baseTimes":825,"./_isIndex":855,"./isArguments":900,"./isArray":901,"./isBuffer":903,"./isTypedArray":909}],796:[function(require,module,exports){ +},{"./_baseTimes":829,"./_isIndex":859,"./isArguments":904,"./isArray":905,"./isBuffer":907,"./isTypedArray":913}],800:[function(require,module,exports){ /** * A specialized version of `_.map` for arrays without support for iteratee * shorthands. @@ -167066,7 +167128,7 @@ function arrayMap(array, iteratee) { module.exports = arrayMap; -},{}],797:[function(require,module,exports){ +},{}],801:[function(require,module,exports){ /** * Appends the elements of `values` to `array`. * @@ -167088,7 +167150,7 @@ function arrayPush(array, values) { module.exports = arrayPush; -},{}],798:[function(require,module,exports){ +},{}],802:[function(require,module,exports){ /** * A specialized version of `_.some` for arrays without support for iteratee * shorthands. @@ -167113,7 +167175,7 @@ function arraySome(array, predicate) { module.exports = arraySome; -},{}],799:[function(require,module,exports){ +},{}],803:[function(require,module,exports){ var eq = require('./eq'); /** @@ -167136,7 +167198,7 @@ function assocIndexOf(array, key) { module.exports = assocIndexOf; -},{"./eq":896}],800:[function(require,module,exports){ +},{"./eq":900}],804:[function(require,module,exports){ var baseForOwn = require('./_baseForOwn'), createBaseEach = require('./_createBaseEach'); @@ -167152,7 +167214,7 @@ var baseEach = createBaseEach(baseForOwn); module.exports = baseEach; -},{"./_baseForOwn":803,"./_createBaseEach":833}],801:[function(require,module,exports){ +},{"./_baseForOwn":807,"./_createBaseEach":837}],805:[function(require,module,exports){ var arrayPush = require('./_arrayPush'), isFlattenable = require('./_isFlattenable'); @@ -167192,7 +167254,7 @@ function baseFlatten(array, depth, predicate, isStrict, result) { module.exports = baseFlatten; -},{"./_arrayPush":797,"./_isFlattenable":854}],802:[function(require,module,exports){ +},{"./_arrayPush":801,"./_isFlattenable":858}],806:[function(require,module,exports){ var createBaseFor = require('./_createBaseFor'); /** @@ -167210,7 +167272,7 @@ var baseFor = createBaseFor(); module.exports = baseFor; -},{"./_createBaseFor":834}],803:[function(require,module,exports){ +},{"./_createBaseFor":838}],807:[function(require,module,exports){ var baseFor = require('./_baseFor'), keys = require('./keys'); @@ -167228,7 +167290,7 @@ function baseForOwn(object, iteratee) { module.exports = baseForOwn; -},{"./_baseFor":802,"./keys":910}],804:[function(require,module,exports){ +},{"./_baseFor":806,"./keys":914}],808:[function(require,module,exports){ var castPath = require('./_castPath'), toKey = require('./_toKey'); @@ -167254,7 +167316,7 @@ function baseGet(object, path) { module.exports = baseGet; -},{"./_castPath":829,"./_toKey":893}],805:[function(require,module,exports){ +},{"./_castPath":833,"./_toKey":897}],809:[function(require,module,exports){ var arrayPush = require('./_arrayPush'), isArray = require('./isArray'); @@ -167276,7 +167338,7 @@ function baseGetAllKeys(object, keysFunc, symbolsFunc) { module.exports = baseGetAllKeys; -},{"./_arrayPush":797,"./isArray":901}],806:[function(require,module,exports){ +},{"./_arrayPush":801,"./isArray":905}],810:[function(require,module,exports){ var Symbol = require('./_Symbol'), getRawTag = require('./_getRawTag'), objectToString = require('./_objectToString'); @@ -167306,7 +167368,7 @@ function baseGetTag(value) { module.exports = baseGetTag; -},{"./_Symbol":790,"./_getRawTag":844,"./_objectToString":878}],807:[function(require,module,exports){ +},{"./_Symbol":794,"./_getRawTag":848,"./_objectToString":882}],811:[function(require,module,exports){ /** * The base implementation of `_.hasIn` without support for deep paths. * @@ -167321,7 +167383,7 @@ function baseHasIn(object, key) { module.exports = baseHasIn; -},{}],808:[function(require,module,exports){ +},{}],812:[function(require,module,exports){ var baseGetTag = require('./_baseGetTag'), isObjectLike = require('./isObjectLike'); @@ -167341,7 +167403,7 @@ function baseIsArguments(value) { module.exports = baseIsArguments; -},{"./_baseGetTag":806,"./isObjectLike":907}],809:[function(require,module,exports){ +},{"./_baseGetTag":810,"./isObjectLike":911}],813:[function(require,module,exports){ var baseIsEqualDeep = require('./_baseIsEqualDeep'), isObjectLike = require('./isObjectLike'); @@ -167371,7 +167433,7 @@ function baseIsEqual(value, other, bitmask, customizer, stack) { module.exports = baseIsEqual; -},{"./_baseIsEqualDeep":810,"./isObjectLike":907}],810:[function(require,module,exports){ +},{"./_baseIsEqualDeep":814,"./isObjectLike":911}],814:[function(require,module,exports){ var Stack = require('./_Stack'), equalArrays = require('./_equalArrays'), equalByTag = require('./_equalByTag'), @@ -167456,7 +167518,7 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { module.exports = baseIsEqualDeep; -},{"./_Stack":789,"./_equalArrays":836,"./_equalByTag":837,"./_equalObjects":838,"./_getTag":846,"./isArray":901,"./isBuffer":903,"./isTypedArray":909}],811:[function(require,module,exports){ +},{"./_Stack":793,"./_equalArrays":840,"./_equalByTag":841,"./_equalObjects":842,"./_getTag":850,"./isArray":905,"./isBuffer":907,"./isTypedArray":913}],815:[function(require,module,exports){ var Stack = require('./_Stack'), baseIsEqual = require('./_baseIsEqual'); @@ -167520,7 +167582,7 @@ function baseIsMatch(object, source, matchData, customizer) { module.exports = baseIsMatch; -},{"./_Stack":789,"./_baseIsEqual":809}],812:[function(require,module,exports){ +},{"./_Stack":793,"./_baseIsEqual":813}],816:[function(require,module,exports){ var isFunction = require('./isFunction'), isMasked = require('./_isMasked'), isObject = require('./isObject'), @@ -167569,7 +167631,7 @@ function baseIsNative(value) { module.exports = baseIsNative; -},{"./_isMasked":859,"./_toSource":894,"./isFunction":904,"./isObject":906}],813:[function(require,module,exports){ +},{"./_isMasked":863,"./_toSource":898,"./isFunction":908,"./isObject":910}],817:[function(require,module,exports){ var baseGetTag = require('./_baseGetTag'), isLength = require('./isLength'), isObjectLike = require('./isObjectLike'); @@ -167631,7 +167693,7 @@ function baseIsTypedArray(value) { module.exports = baseIsTypedArray; -},{"./_baseGetTag":806,"./isLength":905,"./isObjectLike":907}],814:[function(require,module,exports){ +},{"./_baseGetTag":810,"./isLength":909,"./isObjectLike":911}],818:[function(require,module,exports){ var baseMatches = require('./_baseMatches'), baseMatchesProperty = require('./_baseMatchesProperty'), identity = require('./identity'), @@ -167664,7 +167726,7 @@ function baseIteratee(value) { module.exports = baseIteratee; -},{"./_baseMatches":817,"./_baseMatchesProperty":818,"./identity":899,"./isArray":901,"./property":912}],815:[function(require,module,exports){ +},{"./_baseMatches":821,"./_baseMatchesProperty":822,"./identity":903,"./isArray":905,"./property":916}],819:[function(require,module,exports){ var isPrototype = require('./_isPrototype'), nativeKeys = require('./_nativeKeys'); @@ -167696,7 +167758,7 @@ function baseKeys(object) { module.exports = baseKeys; -},{"./_isPrototype":860,"./_nativeKeys":876}],816:[function(require,module,exports){ +},{"./_isPrototype":864,"./_nativeKeys":880}],820:[function(require,module,exports){ var baseEach = require('./_baseEach'), isArrayLike = require('./isArrayLike'); @@ -167720,7 +167782,7 @@ function baseMap(collection, iteratee) { module.exports = baseMap; -},{"./_baseEach":800,"./isArrayLike":902}],817:[function(require,module,exports){ +},{"./_baseEach":804,"./isArrayLike":906}],821:[function(require,module,exports){ var baseIsMatch = require('./_baseIsMatch'), getMatchData = require('./_getMatchData'), matchesStrictComparable = require('./_matchesStrictComparable'); @@ -167744,7 +167806,7 @@ function baseMatches(source) { module.exports = baseMatches; -},{"./_baseIsMatch":811,"./_getMatchData":842,"./_matchesStrictComparable":873}],818:[function(require,module,exports){ +},{"./_baseIsMatch":815,"./_getMatchData":846,"./_matchesStrictComparable":877}],822:[function(require,module,exports){ var baseIsEqual = require('./_baseIsEqual'), get = require('./get'), hasIn = require('./hasIn'), @@ -167779,7 +167841,7 @@ function baseMatchesProperty(path, srcValue) { module.exports = baseMatchesProperty; -},{"./_baseIsEqual":809,"./_isKey":857,"./_isStrictComparable":861,"./_matchesStrictComparable":873,"./_toKey":893,"./get":897,"./hasIn":898}],819:[function(require,module,exports){ +},{"./_baseIsEqual":813,"./_isKey":861,"./_isStrictComparable":865,"./_matchesStrictComparable":877,"./_toKey":897,"./get":901,"./hasIn":902}],823:[function(require,module,exports){ var arrayMap = require('./_arrayMap'), baseGet = require('./_baseGet'), baseIteratee = require('./_baseIteratee'), @@ -167830,7 +167892,7 @@ function baseOrderBy(collection, iteratees, orders) { module.exports = baseOrderBy; -},{"./_arrayMap":796,"./_baseGet":804,"./_baseIteratee":814,"./_baseMap":816,"./_baseSortBy":824,"./_baseUnary":827,"./_compareMultiple":831,"./identity":899,"./isArray":901}],820:[function(require,module,exports){ +},{"./_arrayMap":800,"./_baseGet":808,"./_baseIteratee":818,"./_baseMap":820,"./_baseSortBy":828,"./_baseUnary":831,"./_compareMultiple":835,"./identity":903,"./isArray":905}],824:[function(require,module,exports){ /** * The base implementation of `_.property` without support for deep paths. * @@ -167846,7 +167908,7 @@ function baseProperty(key) { module.exports = baseProperty; -},{}],821:[function(require,module,exports){ +},{}],825:[function(require,module,exports){ var baseGet = require('./_baseGet'); /** @@ -167864,7 +167926,7 @@ function basePropertyDeep(path) { module.exports = basePropertyDeep; -},{"./_baseGet":804}],822:[function(require,module,exports){ +},{"./_baseGet":808}],826:[function(require,module,exports){ var identity = require('./identity'), overRest = require('./_overRest'), setToString = require('./_setToString'); @@ -167883,7 +167945,7 @@ function baseRest(func, start) { module.exports = baseRest; -},{"./_overRest":880,"./_setToString":885,"./identity":899}],823:[function(require,module,exports){ +},{"./_overRest":884,"./_setToString":889,"./identity":903}],827:[function(require,module,exports){ var constant = require('./constant'), defineProperty = require('./_defineProperty'), identity = require('./identity'); @@ -167907,7 +167969,7 @@ var baseSetToString = !defineProperty ? identity : function(func, string) { module.exports = baseSetToString; -},{"./_defineProperty":835,"./constant":895,"./identity":899}],824:[function(require,module,exports){ +},{"./_defineProperty":839,"./constant":899,"./identity":903}],828:[function(require,module,exports){ /** * The base implementation of `_.sortBy` which uses `comparer` to define the * sort order of `array` and replaces criteria objects with their corresponding @@ -167930,7 +167992,7 @@ function baseSortBy(array, comparer) { module.exports = baseSortBy; -},{}],825:[function(require,module,exports){ +},{}],829:[function(require,module,exports){ /** * The base implementation of `_.times` without support for iteratee shorthands * or max array length checks. @@ -167952,7 +168014,7 @@ function baseTimes(n, iteratee) { module.exports = baseTimes; -},{}],826:[function(require,module,exports){ +},{}],830:[function(require,module,exports){ var Symbol = require('./_Symbol'), arrayMap = require('./_arrayMap'), isArray = require('./isArray'), @@ -167991,7 +168053,7 @@ function baseToString(value) { module.exports = baseToString; -},{"./_Symbol":790,"./_arrayMap":796,"./isArray":901,"./isSymbol":908}],827:[function(require,module,exports){ +},{"./_Symbol":794,"./_arrayMap":800,"./isArray":905,"./isSymbol":912}],831:[function(require,module,exports){ /** * The base implementation of `_.unary` without support for storing metadata. * @@ -168007,7 +168069,7 @@ function baseUnary(func) { module.exports = baseUnary; -},{}],828:[function(require,module,exports){ +},{}],832:[function(require,module,exports){ /** * Checks if a `cache` value for `key` exists. * @@ -168022,7 +168084,7 @@ function cacheHas(cache, key) { module.exports = cacheHas; -},{}],829:[function(require,module,exports){ +},{}],833:[function(require,module,exports){ var isArray = require('./isArray'), isKey = require('./_isKey'), stringToPath = require('./_stringToPath'), @@ -168045,7 +168107,7 @@ function castPath(value, object) { module.exports = castPath; -},{"./_isKey":857,"./_stringToPath":892,"./isArray":901,"./toString":916}],830:[function(require,module,exports){ +},{"./_isKey":861,"./_stringToPath":896,"./isArray":905,"./toString":920}],834:[function(require,module,exports){ var isSymbol = require('./isSymbol'); /** @@ -168088,7 +168150,7 @@ function compareAscending(value, other) { module.exports = compareAscending; -},{"./isSymbol":908}],831:[function(require,module,exports){ +},{"./isSymbol":912}],835:[function(require,module,exports){ var compareAscending = require('./_compareAscending'); /** @@ -168134,7 +168196,7 @@ function compareMultiple(object, other, orders) { module.exports = compareMultiple; -},{"./_compareAscending":830}],832:[function(require,module,exports){ +},{"./_compareAscending":834}],836:[function(require,module,exports){ var root = require('./_root'); /** Used to detect overreaching core-js shims. */ @@ -168142,7 +168204,7 @@ var coreJsData = root['__core-js_shared__']; module.exports = coreJsData; -},{"./_root":881}],833:[function(require,module,exports){ +},{"./_root":885}],837:[function(require,module,exports){ var isArrayLike = require('./isArrayLike'); /** @@ -168176,7 +168238,7 @@ function createBaseEach(eachFunc, fromRight) { module.exports = createBaseEach; -},{"./isArrayLike":902}],834:[function(require,module,exports){ +},{"./isArrayLike":906}],838:[function(require,module,exports){ /** * Creates a base function for methods like `_.forIn` and `_.forOwn`. * @@ -168203,7 +168265,7 @@ function createBaseFor(fromRight) { module.exports = createBaseFor; -},{}],835:[function(require,module,exports){ +},{}],839:[function(require,module,exports){ var getNative = require('./_getNative'); var defineProperty = (function() { @@ -168216,7 +168278,7 @@ var defineProperty = (function() { module.exports = defineProperty; -},{"./_getNative":843}],836:[function(require,module,exports){ +},{"./_getNative":847}],840:[function(require,module,exports){ var SetCache = require('./_SetCache'), arraySome = require('./_arraySome'), cacheHas = require('./_cacheHas'); @@ -168302,7 +168364,7 @@ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { module.exports = equalArrays; -},{"./_SetCache":788,"./_arraySome":798,"./_cacheHas":828}],837:[function(require,module,exports){ +},{"./_SetCache":792,"./_arraySome":802,"./_cacheHas":832}],841:[function(require,module,exports){ var Symbol = require('./_Symbol'), Uint8Array = require('./_Uint8Array'), eq = require('./eq'), @@ -168416,7 +168478,7 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { module.exports = equalByTag; -},{"./_Symbol":790,"./_Uint8Array":791,"./_equalArrays":836,"./_mapToArray":872,"./_setToArray":884,"./eq":896}],838:[function(require,module,exports){ +},{"./_Symbol":794,"./_Uint8Array":795,"./_equalArrays":840,"./_mapToArray":876,"./_setToArray":888,"./eq":900}],842:[function(require,module,exports){ var getAllKeys = require('./_getAllKeys'); /** Used to compose bitmasks for value comparisons. */ @@ -168508,7 +168570,7 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { module.exports = equalObjects; -},{"./_getAllKeys":840}],839:[function(require,module,exports){ +},{"./_getAllKeys":844}],843:[function(require,module,exports){ (function (global){(function (){ /** Detect free variable `global` from Node.js. */ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; @@ -168516,7 +168578,7 @@ var freeGlobal = typeof global == 'object' && global && global.Object === Object module.exports = freeGlobal; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],840:[function(require,module,exports){ +},{}],844:[function(require,module,exports){ var baseGetAllKeys = require('./_baseGetAllKeys'), getSymbols = require('./_getSymbols'), keys = require('./keys'); @@ -168534,7 +168596,7 @@ function getAllKeys(object) { module.exports = getAllKeys; -},{"./_baseGetAllKeys":805,"./_getSymbols":845,"./keys":910}],841:[function(require,module,exports){ +},{"./_baseGetAllKeys":809,"./_getSymbols":849,"./keys":914}],845:[function(require,module,exports){ var isKeyable = require('./_isKeyable'); /** @@ -168554,7 +168616,7 @@ function getMapData(map, key) { module.exports = getMapData; -},{"./_isKeyable":858}],842:[function(require,module,exports){ +},{"./_isKeyable":862}],846:[function(require,module,exports){ var isStrictComparable = require('./_isStrictComparable'), keys = require('./keys'); @@ -168580,7 +168642,7 @@ function getMatchData(object) { module.exports = getMatchData; -},{"./_isStrictComparable":861,"./keys":910}],843:[function(require,module,exports){ +},{"./_isStrictComparable":865,"./keys":914}],847:[function(require,module,exports){ var baseIsNative = require('./_baseIsNative'), getValue = require('./_getValue'); @@ -168599,7 +168661,7 @@ function getNative(object, key) { module.exports = getNative; -},{"./_baseIsNative":812,"./_getValue":847}],844:[function(require,module,exports){ +},{"./_baseIsNative":816,"./_getValue":851}],848:[function(require,module,exports){ var Symbol = require('./_Symbol'); /** Used for built-in method references. */ @@ -168647,7 +168709,7 @@ function getRawTag(value) { module.exports = getRawTag; -},{"./_Symbol":790}],845:[function(require,module,exports){ +},{"./_Symbol":794}],849:[function(require,module,exports){ var arrayFilter = require('./_arrayFilter'), stubArray = require('./stubArray'); @@ -168679,7 +168741,7 @@ var getSymbols = !nativeGetSymbols ? stubArray : function(object) { module.exports = getSymbols; -},{"./_arrayFilter":794,"./stubArray":914}],846:[function(require,module,exports){ +},{"./_arrayFilter":798,"./stubArray":918}],850:[function(require,module,exports){ var DataView = require('./_DataView'), Map = require('./_Map'), Promise = require('./_Promise'), @@ -168739,7 +168801,7 @@ if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || module.exports = getTag; -},{"./_DataView":781,"./_Map":784,"./_Promise":786,"./_Set":787,"./_WeakMap":792,"./_baseGetTag":806,"./_toSource":894}],847:[function(require,module,exports){ +},{"./_DataView":785,"./_Map":788,"./_Promise":790,"./_Set":791,"./_WeakMap":796,"./_baseGetTag":810,"./_toSource":898}],851:[function(require,module,exports){ /** * Gets the value at `key` of `object`. * @@ -168754,7 +168816,7 @@ function getValue(object, key) { module.exports = getValue; -},{}],848:[function(require,module,exports){ +},{}],852:[function(require,module,exports){ var castPath = require('./_castPath'), isArguments = require('./isArguments'), isArray = require('./isArray'), @@ -168795,7 +168857,7 @@ function hasPath(object, path, hasFunc) { module.exports = hasPath; -},{"./_castPath":829,"./_isIndex":855,"./_toKey":893,"./isArguments":900,"./isArray":901,"./isLength":905}],849:[function(require,module,exports){ +},{"./_castPath":833,"./_isIndex":859,"./_toKey":897,"./isArguments":904,"./isArray":905,"./isLength":909}],853:[function(require,module,exports){ var nativeCreate = require('./_nativeCreate'); /** @@ -168812,7 +168874,7 @@ function hashClear() { module.exports = hashClear; -},{"./_nativeCreate":875}],850:[function(require,module,exports){ +},{"./_nativeCreate":879}],854:[function(require,module,exports){ /** * Removes `key` and its value from the hash. * @@ -168831,7 +168893,7 @@ function hashDelete(key) { module.exports = hashDelete; -},{}],851:[function(require,module,exports){ +},{}],855:[function(require,module,exports){ var nativeCreate = require('./_nativeCreate'); /** Used to stand-in for `undefined` hash values. */ @@ -168863,7 +168925,7 @@ function hashGet(key) { module.exports = hashGet; -},{"./_nativeCreate":875}],852:[function(require,module,exports){ +},{"./_nativeCreate":879}],856:[function(require,module,exports){ var nativeCreate = require('./_nativeCreate'); /** Used for built-in method references. */ @@ -168888,7 +168950,7 @@ function hashHas(key) { module.exports = hashHas; -},{"./_nativeCreate":875}],853:[function(require,module,exports){ +},{"./_nativeCreate":879}],857:[function(require,module,exports){ var nativeCreate = require('./_nativeCreate'); /** Used to stand-in for `undefined` hash values. */ @@ -168913,7 +168975,7 @@ function hashSet(key, value) { module.exports = hashSet; -},{"./_nativeCreate":875}],854:[function(require,module,exports){ +},{"./_nativeCreate":879}],858:[function(require,module,exports){ var Symbol = require('./_Symbol'), isArguments = require('./isArguments'), isArray = require('./isArray'); @@ -168935,7 +168997,7 @@ function isFlattenable(value) { module.exports = isFlattenable; -},{"./_Symbol":790,"./isArguments":900,"./isArray":901}],855:[function(require,module,exports){ +},{"./_Symbol":794,"./isArguments":904,"./isArray":905}],859:[function(require,module,exports){ /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; @@ -168962,7 +169024,7 @@ function isIndex(value, length) { module.exports = isIndex; -},{}],856:[function(require,module,exports){ +},{}],860:[function(require,module,exports){ var eq = require('./eq'), isArrayLike = require('./isArrayLike'), isIndex = require('./_isIndex'), @@ -168994,7 +169056,7 @@ function isIterateeCall(value, index, object) { module.exports = isIterateeCall; -},{"./_isIndex":855,"./eq":896,"./isArrayLike":902,"./isObject":906}],857:[function(require,module,exports){ +},{"./_isIndex":859,"./eq":900,"./isArrayLike":906,"./isObject":910}],861:[function(require,module,exports){ var isArray = require('./isArray'), isSymbol = require('./isSymbol'); @@ -169025,7 +169087,7 @@ function isKey(value, object) { module.exports = isKey; -},{"./isArray":901,"./isSymbol":908}],858:[function(require,module,exports){ +},{"./isArray":905,"./isSymbol":912}],862:[function(require,module,exports){ /** * Checks if `value` is suitable for use as unique object key. * @@ -169042,7 +169104,7 @@ function isKeyable(value) { module.exports = isKeyable; -},{}],859:[function(require,module,exports){ +},{}],863:[function(require,module,exports){ var coreJsData = require('./_coreJsData'); /** Used to detect methods masquerading as native. */ @@ -169064,7 +169126,7 @@ function isMasked(func) { module.exports = isMasked; -},{"./_coreJsData":832}],860:[function(require,module,exports){ +},{"./_coreJsData":836}],864:[function(require,module,exports){ /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -169084,7 +169146,7 @@ function isPrototype(value) { module.exports = isPrototype; -},{}],861:[function(require,module,exports){ +},{}],865:[function(require,module,exports){ var isObject = require('./isObject'); /** @@ -169101,7 +169163,7 @@ function isStrictComparable(value) { module.exports = isStrictComparable; -},{"./isObject":906}],862:[function(require,module,exports){ +},{"./isObject":910}],866:[function(require,module,exports){ /** * Removes all key-value entries from the list cache. * @@ -169116,7 +169178,7 @@ function listCacheClear() { module.exports = listCacheClear; -},{}],863:[function(require,module,exports){ +},{}],867:[function(require,module,exports){ var assocIndexOf = require('./_assocIndexOf'); /** Used for built-in method references. */ @@ -169153,7 +169215,7 @@ function listCacheDelete(key) { module.exports = listCacheDelete; -},{"./_assocIndexOf":799}],864:[function(require,module,exports){ +},{"./_assocIndexOf":803}],868:[function(require,module,exports){ var assocIndexOf = require('./_assocIndexOf'); /** @@ -169174,7 +169236,7 @@ function listCacheGet(key) { module.exports = listCacheGet; -},{"./_assocIndexOf":799}],865:[function(require,module,exports){ +},{"./_assocIndexOf":803}],869:[function(require,module,exports){ var assocIndexOf = require('./_assocIndexOf'); /** @@ -169192,7 +169254,7 @@ function listCacheHas(key) { module.exports = listCacheHas; -},{"./_assocIndexOf":799}],866:[function(require,module,exports){ +},{"./_assocIndexOf":803}],870:[function(require,module,exports){ var assocIndexOf = require('./_assocIndexOf'); /** @@ -169220,7 +169282,7 @@ function listCacheSet(key, value) { module.exports = listCacheSet; -},{"./_assocIndexOf":799}],867:[function(require,module,exports){ +},{"./_assocIndexOf":803}],871:[function(require,module,exports){ var Hash = require('./_Hash'), ListCache = require('./_ListCache'), Map = require('./_Map'); @@ -169243,7 +169305,7 @@ function mapCacheClear() { module.exports = mapCacheClear; -},{"./_Hash":782,"./_ListCache":783,"./_Map":784}],868:[function(require,module,exports){ +},{"./_Hash":786,"./_ListCache":787,"./_Map":788}],872:[function(require,module,exports){ var getMapData = require('./_getMapData'); /** @@ -169263,7 +169325,7 @@ function mapCacheDelete(key) { module.exports = mapCacheDelete; -},{"./_getMapData":841}],869:[function(require,module,exports){ +},{"./_getMapData":845}],873:[function(require,module,exports){ var getMapData = require('./_getMapData'); /** @@ -169281,7 +169343,7 @@ function mapCacheGet(key) { module.exports = mapCacheGet; -},{"./_getMapData":841}],870:[function(require,module,exports){ +},{"./_getMapData":845}],874:[function(require,module,exports){ var getMapData = require('./_getMapData'); /** @@ -169299,7 +169361,7 @@ function mapCacheHas(key) { module.exports = mapCacheHas; -},{"./_getMapData":841}],871:[function(require,module,exports){ +},{"./_getMapData":845}],875:[function(require,module,exports){ var getMapData = require('./_getMapData'); /** @@ -169323,7 +169385,7 @@ function mapCacheSet(key, value) { module.exports = mapCacheSet; -},{"./_getMapData":841}],872:[function(require,module,exports){ +},{"./_getMapData":845}],876:[function(require,module,exports){ /** * Converts `map` to its key-value pairs. * @@ -169343,7 +169405,7 @@ function mapToArray(map) { module.exports = mapToArray; -},{}],873:[function(require,module,exports){ +},{}],877:[function(require,module,exports){ /** * A specialized version of `matchesProperty` for source values suitable * for strict equality comparisons, i.e. `===`. @@ -169365,7 +169427,7 @@ function matchesStrictComparable(key, srcValue) { module.exports = matchesStrictComparable; -},{}],874:[function(require,module,exports){ +},{}],878:[function(require,module,exports){ var memoize = require('./memoize'); /** Used as the maximum memoize cache size. */ @@ -169393,7 +169455,7 @@ function memoizeCapped(func) { module.exports = memoizeCapped; -},{"./memoize":911}],875:[function(require,module,exports){ +},{"./memoize":915}],879:[function(require,module,exports){ var getNative = require('./_getNative'); /* Built-in method references that are verified to be native. */ @@ -169401,7 +169463,7 @@ var nativeCreate = getNative(Object, 'create'); module.exports = nativeCreate; -},{"./_getNative":843}],876:[function(require,module,exports){ +},{"./_getNative":847}],880:[function(require,module,exports){ var overArg = require('./_overArg'); /* Built-in method references for those with the same name as other `lodash` methods. */ @@ -169409,7 +169471,7 @@ var nativeKeys = overArg(Object.keys, Object); module.exports = nativeKeys; -},{"./_overArg":879}],877:[function(require,module,exports){ +},{"./_overArg":883}],881:[function(require,module,exports){ var freeGlobal = require('./_freeGlobal'); /** Detect free variable `exports`. */ @@ -169441,7 +169503,7 @@ var nodeUtil = (function() { module.exports = nodeUtil; -},{"./_freeGlobal":839}],878:[function(require,module,exports){ +},{"./_freeGlobal":843}],882:[function(require,module,exports){ /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -169465,7 +169527,7 @@ function objectToString(value) { module.exports = objectToString; -},{}],879:[function(require,module,exports){ +},{}],883:[function(require,module,exports){ /** * Creates a unary function that invokes `func` with its argument transformed. * @@ -169482,7 +169544,7 @@ function overArg(func, transform) { module.exports = overArg; -},{}],880:[function(require,module,exports){ +},{}],884:[function(require,module,exports){ var apply = require('./_apply'); /* Built-in method references for those with the same name as other `lodash` methods. */ @@ -169520,7 +169582,7 @@ function overRest(func, start, transform) { module.exports = overRest; -},{"./_apply":793}],881:[function(require,module,exports){ +},{"./_apply":797}],885:[function(require,module,exports){ var freeGlobal = require('./_freeGlobal'); /** Detect free variable `self`. */ @@ -169531,7 +169593,7 @@ var root = freeGlobal || freeSelf || Function('return this')(); module.exports = root; -},{"./_freeGlobal":839}],882:[function(require,module,exports){ +},{"./_freeGlobal":843}],886:[function(require,module,exports){ /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; @@ -169552,7 +169614,7 @@ function setCacheAdd(value) { module.exports = setCacheAdd; -},{}],883:[function(require,module,exports){ +},{}],887:[function(require,module,exports){ /** * Checks if `value` is in the array cache. * @@ -169568,7 +169630,7 @@ function setCacheHas(value) { module.exports = setCacheHas; -},{}],884:[function(require,module,exports){ +},{}],888:[function(require,module,exports){ /** * Converts `set` to an array of its values. * @@ -169588,7 +169650,7 @@ function setToArray(set) { module.exports = setToArray; -},{}],885:[function(require,module,exports){ +},{}],889:[function(require,module,exports){ var baseSetToString = require('./_baseSetToString'), shortOut = require('./_shortOut'); @@ -169604,7 +169666,7 @@ var setToString = shortOut(baseSetToString); module.exports = setToString; -},{"./_baseSetToString":823,"./_shortOut":886}],886:[function(require,module,exports){ +},{"./_baseSetToString":827,"./_shortOut":890}],890:[function(require,module,exports){ /** Used to detect hot functions by number of calls within a span of milliseconds. */ var HOT_COUNT = 800, HOT_SPAN = 16; @@ -169643,7 +169705,7 @@ function shortOut(func) { module.exports = shortOut; -},{}],887:[function(require,module,exports){ +},{}],891:[function(require,module,exports){ var ListCache = require('./_ListCache'); /** @@ -169660,7 +169722,7 @@ function stackClear() { module.exports = stackClear; -},{"./_ListCache":783}],888:[function(require,module,exports){ +},{"./_ListCache":787}],892:[function(require,module,exports){ /** * Removes `key` and its value from the stack. * @@ -169680,7 +169742,7 @@ function stackDelete(key) { module.exports = stackDelete; -},{}],889:[function(require,module,exports){ +},{}],893:[function(require,module,exports){ /** * Gets the stack value for `key`. * @@ -169696,7 +169758,7 @@ function stackGet(key) { module.exports = stackGet; -},{}],890:[function(require,module,exports){ +},{}],894:[function(require,module,exports){ /** * Checks if a stack value for `key` exists. * @@ -169712,7 +169774,7 @@ function stackHas(key) { module.exports = stackHas; -},{}],891:[function(require,module,exports){ +},{}],895:[function(require,module,exports){ var ListCache = require('./_ListCache'), Map = require('./_Map'), MapCache = require('./_MapCache'); @@ -169748,7 +169810,7 @@ function stackSet(key, value) { module.exports = stackSet; -},{"./_ListCache":783,"./_Map":784,"./_MapCache":785}],892:[function(require,module,exports){ +},{"./_ListCache":787,"./_Map":788,"./_MapCache":789}],896:[function(require,module,exports){ var memoizeCapped = require('./_memoizeCapped'); /** Used to match property names within property paths. */ @@ -169777,7 +169839,7 @@ var stringToPath = memoizeCapped(function(string) { module.exports = stringToPath; -},{"./_memoizeCapped":874}],893:[function(require,module,exports){ +},{"./_memoizeCapped":878}],897:[function(require,module,exports){ var isSymbol = require('./isSymbol'); /** Used as references for various `Number` constants. */ @@ -169800,7 +169862,7 @@ function toKey(value) { module.exports = toKey; -},{"./isSymbol":908}],894:[function(require,module,exports){ +},{"./isSymbol":912}],898:[function(require,module,exports){ /** Used for built-in method references. */ var funcProto = Function.prototype; @@ -169828,7 +169890,7 @@ function toSource(func) { module.exports = toSource; -},{}],895:[function(require,module,exports){ +},{}],899:[function(require,module,exports){ /** * Creates a function that returns `value`. * @@ -169856,7 +169918,7 @@ function constant(value) { module.exports = constant; -},{}],896:[function(require,module,exports){ +},{}],900:[function(require,module,exports){ /** * Performs a * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) @@ -169895,7 +169957,7 @@ function eq(value, other) { module.exports = eq; -},{}],897:[function(require,module,exports){ +},{}],901:[function(require,module,exports){ var baseGet = require('./_baseGet'); /** @@ -169930,7 +169992,7 @@ function get(object, path, defaultValue) { module.exports = get; -},{"./_baseGet":804}],898:[function(require,module,exports){ +},{"./_baseGet":808}],902:[function(require,module,exports){ var baseHasIn = require('./_baseHasIn'), hasPath = require('./_hasPath'); @@ -169966,7 +170028,7 @@ function hasIn(object, path) { module.exports = hasIn; -},{"./_baseHasIn":807,"./_hasPath":848}],899:[function(require,module,exports){ +},{"./_baseHasIn":811,"./_hasPath":852}],903:[function(require,module,exports){ /** * This method returns the first argument it receives. * @@ -169989,7 +170051,7 @@ function identity(value) { module.exports = identity; -},{}],900:[function(require,module,exports){ +},{}],904:[function(require,module,exports){ var baseIsArguments = require('./_baseIsArguments'), isObjectLike = require('./isObjectLike'); @@ -170027,7 +170089,7 @@ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsAr module.exports = isArguments; -},{"./_baseIsArguments":808,"./isObjectLike":907}],901:[function(require,module,exports){ +},{"./_baseIsArguments":812,"./isObjectLike":911}],905:[function(require,module,exports){ /** * Checks if `value` is classified as an `Array` object. * @@ -170055,7 +170117,7 @@ var isArray = Array.isArray; module.exports = isArray; -},{}],902:[function(require,module,exports){ +},{}],906:[function(require,module,exports){ var isFunction = require('./isFunction'), isLength = require('./isLength'); @@ -170090,7 +170152,7 @@ function isArrayLike(value) { module.exports = isArrayLike; -},{"./isFunction":904,"./isLength":905}],903:[function(require,module,exports){ +},{"./isFunction":908,"./isLength":909}],907:[function(require,module,exports){ var root = require('./_root'), stubFalse = require('./stubFalse'); @@ -170130,7 +170192,7 @@ var isBuffer = nativeIsBuffer || stubFalse; module.exports = isBuffer; -},{"./_root":881,"./stubFalse":915}],904:[function(require,module,exports){ +},{"./_root":885,"./stubFalse":919}],908:[function(require,module,exports){ var baseGetTag = require('./_baseGetTag'), isObject = require('./isObject'); @@ -170169,7 +170231,7 @@ function isFunction(value) { module.exports = isFunction; -},{"./_baseGetTag":806,"./isObject":906}],905:[function(require,module,exports){ +},{"./_baseGetTag":810,"./isObject":910}],909:[function(require,module,exports){ /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; @@ -170206,7 +170268,7 @@ function isLength(value) { module.exports = isLength; -},{}],906:[function(require,module,exports){ +},{}],910:[function(require,module,exports){ /** * Checks if `value` is the * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) @@ -170239,7 +170301,7 @@ function isObject(value) { module.exports = isObject; -},{}],907:[function(require,module,exports){ +},{}],911:[function(require,module,exports){ /** * Checks if `value` is object-like. A value is object-like if it's not `null` * and has a `typeof` result of "object". @@ -170270,7 +170332,7 @@ function isObjectLike(value) { module.exports = isObjectLike; -},{}],908:[function(require,module,exports){ +},{}],912:[function(require,module,exports){ var baseGetTag = require('./_baseGetTag'), isObjectLike = require('./isObjectLike'); @@ -170301,7 +170363,7 @@ function isSymbol(value) { module.exports = isSymbol; -},{"./_baseGetTag":806,"./isObjectLike":907}],909:[function(require,module,exports){ +},{"./_baseGetTag":810,"./isObjectLike":911}],913:[function(require,module,exports){ var baseIsTypedArray = require('./_baseIsTypedArray'), baseUnary = require('./_baseUnary'), nodeUtil = require('./_nodeUtil'); @@ -170330,7 +170392,7 @@ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedA module.exports = isTypedArray; -},{"./_baseIsTypedArray":813,"./_baseUnary":827,"./_nodeUtil":877}],910:[function(require,module,exports){ +},{"./_baseIsTypedArray":817,"./_baseUnary":831,"./_nodeUtil":881}],914:[function(require,module,exports){ var arrayLikeKeys = require('./_arrayLikeKeys'), baseKeys = require('./_baseKeys'), isArrayLike = require('./isArrayLike'); @@ -170369,7 +170431,7 @@ function keys(object) { module.exports = keys; -},{"./_arrayLikeKeys":795,"./_baseKeys":815,"./isArrayLike":902}],911:[function(require,module,exports){ +},{"./_arrayLikeKeys":799,"./_baseKeys":819,"./isArrayLike":906}],915:[function(require,module,exports){ var MapCache = require('./_MapCache'); /** Error message constants. */ @@ -170444,7 +170506,7 @@ memoize.Cache = MapCache; module.exports = memoize; -},{"./_MapCache":785}],912:[function(require,module,exports){ +},{"./_MapCache":789}],916:[function(require,module,exports){ var baseProperty = require('./_baseProperty'), basePropertyDeep = require('./_basePropertyDeep'), isKey = require('./_isKey'), @@ -170478,7 +170540,7 @@ function property(path) { module.exports = property; -},{"./_baseProperty":820,"./_basePropertyDeep":821,"./_isKey":857,"./_toKey":893}],913:[function(require,module,exports){ +},{"./_baseProperty":824,"./_basePropertyDeep":825,"./_isKey":861,"./_toKey":897}],917:[function(require,module,exports){ var baseFlatten = require('./_baseFlatten'), baseOrderBy = require('./_baseOrderBy'), baseRest = require('./_baseRest'), @@ -170528,7 +170590,7 @@ var sortBy = baseRest(function(collection, iteratees) { module.exports = sortBy; -},{"./_baseFlatten":801,"./_baseOrderBy":819,"./_baseRest":822,"./_isIterateeCall":856}],914:[function(require,module,exports){ +},{"./_baseFlatten":805,"./_baseOrderBy":823,"./_baseRest":826,"./_isIterateeCall":860}],918:[function(require,module,exports){ /** * This method returns a new empty array. * @@ -170553,7 +170615,7 @@ function stubArray() { module.exports = stubArray; -},{}],915:[function(require,module,exports){ +},{}],919:[function(require,module,exports){ /** * This method returns `false`. * @@ -170573,7 +170635,7 @@ function stubFalse() { module.exports = stubFalse; -},{}],916:[function(require,module,exports){ +},{}],920:[function(require,module,exports){ var baseToString = require('./_baseToString'); /** @@ -170603,7 +170665,7 @@ function toString(value) { module.exports = toString; -},{"./_baseToString":826}],917:[function(require,module,exports){ +},{"./_baseToString":830}],921:[function(require,module,exports){ 'use strict' var inherits = require('inherits') var HashBase = require('hash-base') @@ -170751,7 +170813,7 @@ function fnI (a, b, c, d, m, k, s) { module.exports = MD5 -},{"hash-base":291,"inherits":328,"safe-buffer":993}],918:[function(require,module,exports){ +},{"hash-base":295,"inherits":332,"safe-buffer":997}],922:[function(require,module,exports){ var bn = require('bn.js'); var brorand = require('brorand'); @@ -170868,9 +170930,9 @@ MillerRabin.prototype.getDivisor = function getDivisor(n, k) { return false; }; -},{"bn.js":919,"brorand":76}],919:[function(require,module,exports){ -arguments[4][66][0].apply(exports,arguments) -},{"buffer":77,"dup":66}],920:[function(require,module,exports){ +},{"bn.js":923,"brorand":80}],923:[function(require,module,exports){ +arguments[4][70][0].apply(exports,arguments) +},{"buffer":81,"dup":70}],924:[function(require,module,exports){ module.exports = assert; function assert(val, msg) { @@ -170883,7 +170945,7 @@ assert.equal = function assertEqual(l, r, msg) { throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r)); }; -},{}],921:[function(require,module,exports){ +},{}],925:[function(require,module,exports){ 'use strict'; var utils = exports; @@ -170943,7 +171005,7 @@ utils.encode = function encode(arr, enc) { return arr; }; -},{}],922:[function(require,module,exports){ +},{}],926:[function(require,module,exports){ /** * Helpers. */ @@ -171107,7 +171169,7 @@ function plural(ms, msAbs, n, name) { return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); } -},{}],923:[function(require,module,exports){ +},{}],927:[function(require,module,exports){ /* * Copyright (C) 2007-2019 Diego Perini * All rights reserved. @@ -172909,7 +172971,7 @@ function plural(ms, msAbs, n, name) { }); -},{}],924:[function(require,module,exports){ +},{}],928:[function(require,module,exports){ /* object-assign (c) Sindre Sorhus @@ -173001,7 +173063,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) { return to; }; -},{}],925:[function(require,module,exports){ +},{}],929:[function(require,module,exports){ exports.endianness = function () { return 'LE' }; exports.hostname = function () { @@ -173052,7 +173114,7 @@ exports.homedir = function () { return '/' }; -},{}],926:[function(require,module,exports){ +},{}],930:[function(require,module,exports){ 'use strict'; @@ -173159,7 +173221,7 @@ exports.setTyped = function (on) { exports.setTyped(TYPED_OK); -},{}],927:[function(require,module,exports){ +},{}],931:[function(require,module,exports){ 'use strict'; // Note: adler32 takes 12% for level 0 and 2% for level 6. @@ -173212,7 +173274,7 @@ function adler32(adler, buf, len, pos) { module.exports = adler32; -},{}],928:[function(require,module,exports){ +},{}],932:[function(require,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -173282,7 +173344,7 @@ module.exports = { //Z_NULL: null // Use -1 or null inline, depending on var type }; -},{}],929:[function(require,module,exports){ +},{}],933:[function(require,module,exports){ 'use strict'; // Note: we can't get significant speed boost here. @@ -173343,7 +173405,7 @@ function crc32(crc, buf, len, pos) { module.exports = crc32; -},{}],930:[function(require,module,exports){ +},{}],934:[function(require,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -175219,7 +175281,7 @@ exports.deflatePrime = deflatePrime; exports.deflateTune = deflateTune; */ -},{"../utils/common":926,"./adler32":927,"./crc32":929,"./messages":934,"./trees":935}],931:[function(require,module,exports){ +},{"../utils/common":930,"./adler32":931,"./crc32":933,"./messages":938,"./trees":939}],935:[function(require,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -175566,7 +175628,7 @@ module.exports = function inflate_fast(strm, start) { return; }; -},{}],932:[function(require,module,exports){ +},{}],936:[function(require,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -177124,7 +177186,7 @@ exports.inflateSyncPoint = inflateSyncPoint; exports.inflateUndermine = inflateUndermine; */ -},{"../utils/common":926,"./adler32":927,"./crc32":929,"./inffast":931,"./inftrees":933}],933:[function(require,module,exports){ +},{"../utils/common":930,"./adler32":931,"./crc32":933,"./inffast":935,"./inftrees":937}],937:[function(require,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -177469,7 +177531,7 @@ module.exports = function inflate_table(type, lens, lens_index, codes, table, ta return 0; }; -},{"../utils/common":926}],934:[function(require,module,exports){ +},{"../utils/common":930}],938:[function(require,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -177503,7 +177565,7 @@ module.exports = { '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */ }; -},{}],935:[function(require,module,exports){ +},{}],939:[function(require,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -178727,7 +178789,7 @@ exports._tr_flush_block = _tr_flush_block; exports._tr_tally = _tr_tally; exports._tr_align = _tr_align; -},{"../utils/common":926}],936:[function(require,module,exports){ +},{"../utils/common":930}],940:[function(require,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -178776,7 +178838,7 @@ function ZStream() { module.exports = ZStream; -},{}],937:[function(require,module,exports){ +},{}],941:[function(require,module,exports){ module.exports={"2.16.840.1.101.3.4.1.1": "aes-128-ecb", "2.16.840.1.101.3.4.1.2": "aes-128-cbc", "2.16.840.1.101.3.4.1.3": "aes-128-ofb", @@ -178790,7 +178852,7 @@ module.exports={"2.16.840.1.101.3.4.1.1": "aes-128-ecb", "2.16.840.1.101.3.4.1.43": "aes-256-ofb", "2.16.840.1.101.3.4.1.44": "aes-256-cfb" } -},{}],938:[function(require,module,exports){ +},{}],942:[function(require,module,exports){ // from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js // Fedor, you are amazing. 'use strict' @@ -178914,7 +178976,7 @@ exports.signature = asn1.define('signature', function () { ) }) -},{"./certificate":939,"asn1.js":52}],939:[function(require,module,exports){ +},{"./certificate":943,"asn1.js":56}],943:[function(require,module,exports){ // from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js // thanks to @Rantanen @@ -179005,7 +179067,7 @@ var X509Certificate = asn.define('X509Certificate', function () { module.exports = X509Certificate -},{"asn1.js":52}],940:[function(require,module,exports){ +},{"asn1.js":56}],944:[function(require,module,exports){ // adapted from https://github.com/apatil/pemstrip var findProc = /Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m var startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m @@ -179038,7 +179100,7 @@ module.exports = function (okey, password) { } } -},{"browserify-aes":80,"evp_bytestokey":281,"safe-buffer":993}],941:[function(require,module,exports){ +},{"browserify-aes":84,"evp_bytestokey":285,"safe-buffer":997}],945:[function(require,module,exports){ var asn1 = require('./asn1') var aesid = require('./aesid.json') var fixProc = require('./fixProc') @@ -179147,7 +179209,7 @@ function decrypt (data, password) { return Buffer.concat(out) } -},{"./aesid.json":937,"./asn1":938,"./fixProc":940,"browserify-aes":80,"pbkdf2":968,"safe-buffer":993}],942:[function(require,module,exports){ +},{"./aesid.json":941,"./asn1":942,"./fixProc":944,"browserify-aes":84,"pbkdf2":972,"safe-buffer":997}],946:[function(require,module,exports){ 'use strict'; const { DOCUMENT_MODE } = require('./html'); @@ -179311,7 +179373,7 @@ exports.serializeContent = function(name, publicId, systemId) { return str; }; -},{"./html":945}],943:[function(require,module,exports){ +},{"./html":949}],947:[function(require,module,exports){ 'use strict'; module.exports = { @@ -179378,7 +179440,7 @@ module.exports = { eofInElementThatCanContainOnlyText: 'eof-in-element-that-can-contain-only-text' }; -},{}],944:[function(require,module,exports){ +},{}],948:[function(require,module,exports){ 'use strict'; const Tokenizer = require('../tokenizer'); @@ -179645,7 +179707,7 @@ exports.isIntegrationPoint = function(tn, ns, attrs, foreignNS) { return false; }; -},{"../tokenizer":960,"./html":945}],945:[function(require,module,exports){ +},{"../tokenizer":964,"./html":949}],949:[function(require,module,exports){ 'use strict'; const NS = (exports.NAMESPACES = { @@ -179919,7 +179981,7 @@ exports.SPECIAL_ELEMENTS = { } }; -},{}],946:[function(require,module,exports){ +},{}],950:[function(require,module,exports){ 'use strict'; const UNDEFINED_CODE_POINTS = [ @@ -180030,7 +180092,7 @@ exports.isUndefinedCodePoint = function(cp) { return (cp >= 0xfdd0 && cp <= 0xfdef) || UNDEFINED_CODE_POINTS.indexOf(cp) > -1; }; -},{}],947:[function(require,module,exports){ +},{}],951:[function(require,module,exports){ 'use strict'; const Mixin = require('../../utils/mixin'); @@ -180075,7 +180137,7 @@ class ErrorReportingMixinBase extends Mixin { module.exports = ErrorReportingMixinBase; -},{"../../utils/mixin":965}],948:[function(require,module,exports){ +},{"../../utils/mixin":969}],952:[function(require,module,exports){ 'use strict'; const ErrorReportingMixinBase = require('./mixin-base'); @@ -180129,7 +180191,7 @@ class ErrorReportingParserMixin extends ErrorReportingMixinBase { module.exports = ErrorReportingParserMixin; -},{"../../utils/mixin":965,"../location-info/tokenizer-mixin":953,"./mixin-base":947,"./tokenizer-mixin":950}],949:[function(require,module,exports){ +},{"../../utils/mixin":969,"../location-info/tokenizer-mixin":957,"./mixin-base":951,"./tokenizer-mixin":954}],953:[function(require,module,exports){ 'use strict'; const ErrorReportingMixinBase = require('./mixin-base'); @@ -180155,7 +180217,7 @@ class ErrorReportingPreprocessorMixin extends ErrorReportingMixinBase { module.exports = ErrorReportingPreprocessorMixin; -},{"../../utils/mixin":965,"../position-tracking/preprocessor-mixin":954,"./mixin-base":947}],950:[function(require,module,exports){ +},{"../../utils/mixin":969,"../position-tracking/preprocessor-mixin":958,"./mixin-base":951}],954:[function(require,module,exports){ 'use strict'; const ErrorReportingMixinBase = require('./mixin-base'); @@ -180174,7 +180236,7 @@ class ErrorReportingTokenizerMixin extends ErrorReportingMixinBase { module.exports = ErrorReportingTokenizerMixin; -},{"../../utils/mixin":965,"./mixin-base":947,"./preprocessor-mixin":949}],951:[function(require,module,exports){ +},{"../../utils/mixin":969,"./mixin-base":951,"./preprocessor-mixin":953}],955:[function(require,module,exports){ 'use strict'; const Mixin = require('../../utils/mixin'); @@ -180211,7 +180273,7 @@ class LocationInfoOpenElementStackMixin extends Mixin { module.exports = LocationInfoOpenElementStackMixin; -},{"../../utils/mixin":965}],952:[function(require,module,exports){ +},{"../../utils/mixin":969}],956:[function(require,module,exports){ 'use strict'; const Mixin = require('../../utils/mixin'); @@ -180436,7 +180498,7 @@ class LocationInfoParserMixin extends Mixin { module.exports = LocationInfoParserMixin; -},{"../../common/html":945,"../../tokenizer":960,"../../utils/mixin":965,"./open-element-stack-mixin":951,"./tokenizer-mixin":953}],953:[function(require,module,exports){ +},{"../../common/html":949,"../../tokenizer":964,"../../utils/mixin":969,"./open-element-stack-mixin":955,"./tokenizer-mixin":957}],957:[function(require,module,exports){ 'use strict'; const Mixin = require('../../utils/mixin'); @@ -180584,7 +180646,7 @@ class LocationInfoTokenizerMixin extends Mixin { module.exports = LocationInfoTokenizerMixin; -},{"../../tokenizer":960,"../../utils/mixin":965,"../position-tracking/preprocessor-mixin":954}],954:[function(require,module,exports){ +},{"../../tokenizer":964,"../../utils/mixin":969,"../position-tracking/preprocessor-mixin":958}],958:[function(require,module,exports){ 'use strict'; const Mixin = require('../../utils/mixin'); @@ -180650,7 +180712,7 @@ class PositionTrackingPreprocessorMixin extends Mixin { module.exports = PositionTrackingPreprocessorMixin; -},{"../../utils/mixin":965}],955:[function(require,module,exports){ +},{"../../utils/mixin":969}],959:[function(require,module,exports){ 'use strict'; const Parser = require('./parser'); @@ -180681,7 +180743,7 @@ exports.serialize = function(node, options) { return serializer.serialize(); }; -},{"./parser":957,"./serializer":959}],956:[function(require,module,exports){ +},{"./parser":961,"./serializer":963}],960:[function(require,module,exports){ 'use strict'; //Const @@ -180864,7 +180926,7 @@ FormattingElementList.ELEMENT_ENTRY = 'ELEMENT_ENTRY'; module.exports = FormattingElementList; -},{}],957:[function(require,module,exports){ +},{}],961:[function(require,module,exports){ 'use strict'; const Tokenizer = require('../tokenizer'); @@ -183822,7 +183884,7 @@ function endTagInForeignContent(p, token) { } } -},{"../common/doctype":942,"../common/error-codes":943,"../common/foreign-content":944,"../common/html":945,"../common/unicode":946,"../extensions/error-reporting/parser-mixin":948,"../extensions/location-info/parser-mixin":952,"../tokenizer":960,"../tree-adapters/default":963,"../utils/merge-options":964,"../utils/mixin":965,"./formatting-element-list":956,"./open-element-stack":958}],958:[function(require,module,exports){ +},{"../common/doctype":946,"../common/error-codes":947,"../common/foreign-content":948,"../common/html":949,"../common/unicode":950,"../extensions/error-reporting/parser-mixin":952,"../extensions/location-info/parser-mixin":956,"../tokenizer":964,"../tree-adapters/default":967,"../utils/merge-options":968,"../utils/mixin":969,"./formatting-element-list":960,"./open-element-stack":962}],962:[function(require,module,exports){ 'use strict'; const HTML = require('../common/html'); @@ -184306,7 +184368,7 @@ class OpenElementStack { module.exports = OpenElementStack; -},{"../common/html":945}],959:[function(require,module,exports){ +},{"../common/html":949}],963:[function(require,module,exports){ 'use strict'; const defaultTreeAdapter = require('../tree-adapters/default'); @@ -184484,7 +184546,7 @@ Serializer.escapeString = function(str, attrMode) { module.exports = Serializer; -},{"../common/doctype":942,"../common/html":945,"../tree-adapters/default":963,"../utils/merge-options":964}],960:[function(require,module,exports){ +},{"../common/doctype":946,"../common/html":949,"../tree-adapters/default":967,"../utils/merge-options":968}],964:[function(require,module,exports){ 'use strict'; const Preprocessor = require('./preprocessor'); @@ -186682,13 +186744,13 @@ Tokenizer.getTokenAttr = function(token, attrName) { module.exports = Tokenizer; -},{"../common/error-codes":943,"../common/unicode":946,"./named-entity-data":961,"./preprocessor":962}],961:[function(require,module,exports){ +},{"../common/error-codes":947,"../common/unicode":950,"./named-entity-data":965,"./preprocessor":966}],965:[function(require,module,exports){ 'use strict'; //NOTE: this file contains auto-generated array mapped radix tree that is used for the named entity references consumption //(details: https://github.com/inikulin/parse5/tree/master/scripts/generate-named-entity-data/README.md) module.exports = new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4000,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,10000,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13000,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204]); -},{}],962:[function(require,module,exports){ +},{}],966:[function(require,module,exports){ 'use strict'; const unicode = require('../common/unicode'); @@ -186849,7 +186911,7 @@ class Preprocessor { module.exports = Preprocessor; -},{"../common/error-codes":943,"../common/unicode":946}],963:[function(require,module,exports){ +},{"../common/error-codes":947,"../common/unicode":950}],967:[function(require,module,exports){ 'use strict'; const { DOCUMENT_MODE } = require('../common/html'); @@ -187072,7 +187134,7 @@ exports.updateNodeSourceCodeLocation = function(node, endLocation) { node.sourceCodeLocation = Object.assign(node.sourceCodeLocation, endLocation); }; -},{"../common/html":945}],964:[function(require,module,exports){ +},{"../common/html":949}],968:[function(require,module,exports){ 'use strict'; module.exports = function mergeOptions(defaults, options) { @@ -187087,7 +187149,7 @@ module.exports = function mergeOptions(defaults, options) { }, Object.create(null)); }; -},{}],965:[function(require,module,exports){ +},{}],969:[function(require,module,exports){ 'use strict'; class Mixin { @@ -187128,7 +187190,7 @@ Mixin.install = function(host, Ctor, opts) { module.exports = Mixin; -},{}],966:[function(require,module,exports){ +},{}],970:[function(require,module,exports){ (function (process){(function (){ // 'path' module extracted from Node.js v8.11.1 (only the posix part) // transplited with Babel @@ -187661,7 +187723,7 @@ posix.posix = posix; module.exports = posix; }).call(this)}).call(this,require('_process')) -},{"_process":974}],967:[function(require,module,exports){ +},{"_process":978}],971:[function(require,module,exports){ 'use strict'; /* ! @@ -187964,11 +188026,11 @@ module.exports = { setPathValue: setPathValue, }; -},{}],968:[function(require,module,exports){ +},{}],972:[function(require,module,exports){ exports.pbkdf2 = require('./lib/async') exports.pbkdf2Sync = require('./lib/sync') -},{"./lib/async":969,"./lib/sync":972}],969:[function(require,module,exports){ +},{"./lib/async":973,"./lib/sync":976}],973:[function(require,module,exports){ (function (global){(function (){ var Buffer = require('safe-buffer').Buffer @@ -188090,7 +188152,7 @@ module.exports = function (password, salt, iterations, keylen, digest, callback) } }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./default-encoding":970,"./precondition":971,"./sync":972,"./to-buffer":973,"safe-buffer":993}],970:[function(require,module,exports){ +},{"./default-encoding":974,"./precondition":975,"./sync":976,"./to-buffer":977,"safe-buffer":997}],974:[function(require,module,exports){ (function (process,global){(function (){ var defaultEncoding /* istanbul ignore next */ @@ -188106,7 +188168,7 @@ if (global.process && global.process.browser) { module.exports = defaultEncoding }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":974}],971:[function(require,module,exports){ +},{"_process":978}],975:[function(require,module,exports){ var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs module.exports = function (iterations, keylen) { @@ -188127,7 +188189,7 @@ module.exports = function (iterations, keylen) { } } -},{}],972:[function(require,module,exports){ +},{}],976:[function(require,module,exports){ var md5 = require('create-hash/md5') var RIPEMD160 = require('ripemd160') var sha = require('sha.js') @@ -188234,7 +188296,7 @@ function pbkdf2 (password, salt, iterations, keylen, digest) { module.exports = pbkdf2 -},{"./default-encoding":970,"./precondition":971,"./to-buffer":973,"create-hash/md5":166,"ripemd160":992,"safe-buffer":993,"sha.js":997}],973:[function(require,module,exports){ +},{"./default-encoding":974,"./precondition":975,"./to-buffer":977,"create-hash/md5":170,"ripemd160":996,"safe-buffer":997,"sha.js":1001}],977:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer module.exports = function (thing, encoding, name) { @@ -188249,7 +188311,7 @@ module.exports = function (thing, encoding, name) { } } -},{"safe-buffer":993}],974:[function(require,module,exports){ +},{"safe-buffer":997}],978:[function(require,module,exports){ // shim for using process in browser var process = module.exports = {}; @@ -188435,7 +188497,7 @@ process.chdir = function (dir) { }; process.umask = function() { return 0; }; -},{}],975:[function(require,module,exports){ +},{}],979:[function(require,module,exports){ module.exports=[ "ac", "com.ac", @@ -197270,7 +197332,7 @@ module.exports=[ "virtualserver.io", "enterprisecloud.nu" ] -},{}],976:[function(require,module,exports){ +},{}],980:[function(require,module,exports){ /*eslint no-var:0, prefer-arrow-callback: 0, object-shorthand: 0 */ 'use strict'; @@ -197541,7 +197603,7 @@ exports.isValid = function (domain) { return Boolean(parsed.domain && parsed.listed); }; -},{"./data/rules.json":975,"punycode":984}],977:[function(require,module,exports){ +},{"./data/rules.json":979,"punycode":988}],981:[function(require,module,exports){ exports.publicEncrypt = require('./publicEncrypt') exports.privateDecrypt = require('./privateDecrypt') @@ -197553,7 +197615,7 @@ exports.publicDecrypt = function publicDecrypt (key, buf) { return exports.privateDecrypt(key, buf, true) } -},{"./privateDecrypt":980,"./publicEncrypt":981}],978:[function(require,module,exports){ +},{"./privateDecrypt":984,"./publicEncrypt":985}],982:[function(require,module,exports){ var createHash = require('create-hash') var Buffer = require('safe-buffer').Buffer @@ -197574,9 +197636,9 @@ function i2ops (c) { return out } -},{"create-hash":165,"safe-buffer":993}],979:[function(require,module,exports){ -arguments[4][66][0].apply(exports,arguments) -},{"buffer":77,"dup":66}],980:[function(require,module,exports){ +},{"create-hash":169,"safe-buffer":997}],983:[function(require,module,exports){ +arguments[4][70][0].apply(exports,arguments) +},{"buffer":81,"dup":70}],984:[function(require,module,exports){ var parseKeys = require('parse-asn1') var mgf = require('./mgf') var xor = require('./xor') @@ -197683,7 +197745,7 @@ function compare (a, b) { return dif } -},{"./mgf":978,"./withPublic":982,"./xor":983,"bn.js":979,"browserify-rsa":98,"create-hash":165,"parse-asn1":941,"safe-buffer":993}],981:[function(require,module,exports){ +},{"./mgf":982,"./withPublic":986,"./xor":987,"bn.js":983,"browserify-rsa":102,"create-hash":169,"parse-asn1":945,"safe-buffer":997}],985:[function(require,module,exports){ var parseKeys = require('parse-asn1') var randomBytes = require('randombytes') var createHash = require('create-hash') @@ -197773,7 +197835,7 @@ function nonZero (len) { return out } -},{"./mgf":978,"./withPublic":982,"./xor":983,"bn.js":979,"browserify-rsa":98,"create-hash":165,"parse-asn1":941,"randombytes":990,"safe-buffer":993}],982:[function(require,module,exports){ +},{"./mgf":982,"./withPublic":986,"./xor":987,"bn.js":983,"browserify-rsa":102,"create-hash":169,"parse-asn1":945,"randombytes":994,"safe-buffer":997}],986:[function(require,module,exports){ var BN = require('bn.js') var Buffer = require('safe-buffer').Buffer @@ -197787,7 +197849,7 @@ function withPublic (paddedMsg, key) { module.exports = withPublic -},{"bn.js":979,"safe-buffer":993}],983:[function(require,module,exports){ +},{"bn.js":983,"safe-buffer":997}],987:[function(require,module,exports){ module.exports = function xor (a, b) { var len = a.length var i = -1 @@ -197797,7 +197859,7 @@ module.exports = function xor (a, b) { return a } -},{}],984:[function(require,module,exports){ +},{}],988:[function(require,module,exports){ (function (global){(function (){ /*! https://mths.be/punycode v1.4.1 by @mathias */ ;(function(root) { @@ -198334,7 +198396,7 @@ module.exports = function xor (a, b) { }(this)); }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],985:[function(require,module,exports){ +},{}],989:[function(require,module,exports){ (function (Buffer){(function (){ /** * Copyright (c) 2020, Peculiar Ventures, All rights reserved. @@ -198665,7 +198727,7 @@ module.exports = function xor (a, b) { }))); }).call(this)}).call(this,require("buffer").Buffer) -},{"buffer":124}],986:[function(require,module,exports){ +},{"buffer":128}],990:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -199443,7 +199505,7 @@ function clearProps(object, propsArray) { } //************************************************************************************** -},{}],987:[function(require,module,exports){ +},{}],991:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -199529,7 +199591,7 @@ var isArray = Array.isArray || function (xs) { return Object.prototype.toString.call(xs) === '[object Array]'; }; -},{}],988:[function(require,module,exports){ +},{}],992:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -199616,13 +199678,13 @@ var objectKeys = Object.keys || function (obj) { return res; }; -},{}],989:[function(require,module,exports){ +},{}],993:[function(require,module,exports){ 'use strict'; exports.decode = exports.parse = require('./decode'); exports.encode = exports.stringify = require('./encode'); -},{"./decode":987,"./encode":988}],990:[function(require,module,exports){ +},{"./decode":991,"./encode":992}],994:[function(require,module,exports){ (function (process,global){(function (){ 'use strict' @@ -199676,7 +199738,7 @@ function randomBytes (size, cb) { } }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":974,"safe-buffer":993}],991:[function(require,module,exports){ +},{"_process":978,"safe-buffer":997}],995:[function(require,module,exports){ (function (process,global){(function (){ 'use strict' @@ -199788,7 +199850,7 @@ function randomFillSync (buf, offset, size) { } }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":974,"randombytes":990,"safe-buffer":993}],992:[function(require,module,exports){ +},{"_process":978,"randombytes":994,"safe-buffer":997}],996:[function(require,module,exports){ 'use strict' var Buffer = require('buffer').Buffer var inherits = require('inherits') @@ -199953,7 +200015,7 @@ function fn5 (a, b, c, d, e, m, k, s) { module.exports = RIPEMD160 -},{"buffer":124,"hash-base":291,"inherits":328}],993:[function(require,module,exports){ +},{"buffer":128,"hash-base":295,"inherits":332}],997:[function(require,module,exports){ /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */ /* eslint-disable node/no-deprecated-api */ var buffer = require('buffer') @@ -200020,7 +200082,7 @@ SafeBuffer.allocUnsafeSlow = function (size) { return buffer.SlowBuffer(size) } -},{"buffer":124}],994:[function(require,module,exports){ +},{"buffer":128}],998:[function(require,module,exports){ (function (process){(function (){ /* eslint-disable node/no-deprecated-api */ @@ -200101,7 +200163,7 @@ if (!safer.constants) { module.exports = safer }).call(this)}).call(this,require('_process')) -},{"_process":974,"buffer":124}],995:[function(require,module,exports){ +},{"_process":978,"buffer":128}],999:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ed5 = require("xmlchars/xml/1.0/ed5"); @@ -202166,7 +202228,7 @@ class SaxesParser { } exports.SaxesParser = SaxesParser; -},{"xmlchars/xml/1.0/ed5":1118,"xmlchars/xml/1.1/ed2":1119,"xmlchars/xmlns/1.0/ed3":1120}],996:[function(require,module,exports){ +},{"xmlchars/xml/1.0/ed5":1122,"xmlchars/xml/1.1/ed2":1123,"xmlchars/xmlns/1.0/ed3":1124}],1000:[function(require,module,exports){ var Buffer = require('safe-buffer').Buffer // prototype class for hash functions @@ -202249,7 +202311,7 @@ Hash.prototype._update = function () { module.exports = Hash -},{"safe-buffer":993}],997:[function(require,module,exports){ +},{"safe-buffer":997}],1001:[function(require,module,exports){ var exports = module.exports = function SHA (algorithm) { algorithm = algorithm.toLowerCase() @@ -202266,7 +202328,7 @@ exports.sha256 = require('./sha256') exports.sha384 = require('./sha384') exports.sha512 = require('./sha512') -},{"./sha":998,"./sha1":999,"./sha224":1000,"./sha256":1001,"./sha384":1002,"./sha512":1003}],998:[function(require,module,exports){ +},{"./sha":1002,"./sha1":1003,"./sha224":1004,"./sha256":1005,"./sha384":1006,"./sha512":1007}],1002:[function(require,module,exports){ /* * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined * in FIPS PUB 180-1 @@ -202362,7 +202424,7 @@ Sha.prototype._hash = function () { module.exports = Sha -},{"./hash":996,"inherits":328,"safe-buffer":993}],999:[function(require,module,exports){ +},{"./hash":1000,"inherits":332,"safe-buffer":997}],1003:[function(require,module,exports){ /* * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined * in FIPS PUB 180-1 @@ -202463,7 +202525,7 @@ Sha1.prototype._hash = function () { module.exports = Sha1 -},{"./hash":996,"inherits":328,"safe-buffer":993}],1000:[function(require,module,exports){ +},{"./hash":1000,"inherits":332,"safe-buffer":997}],1004:[function(require,module,exports){ /** * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined * in FIPS 180-2 @@ -202518,7 +202580,7 @@ Sha224.prototype._hash = function () { module.exports = Sha224 -},{"./hash":996,"./sha256":1001,"inherits":328,"safe-buffer":993}],1001:[function(require,module,exports){ +},{"./hash":1000,"./sha256":1005,"inherits":332,"safe-buffer":997}],1005:[function(require,module,exports){ /** * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined * in FIPS 180-2 @@ -202655,7 +202717,7 @@ Sha256.prototype._hash = function () { module.exports = Sha256 -},{"./hash":996,"inherits":328,"safe-buffer":993}],1002:[function(require,module,exports){ +},{"./hash":1000,"inherits":332,"safe-buffer":997}],1006:[function(require,module,exports){ var inherits = require('inherits') var SHA512 = require('./sha512') var Hash = require('./hash') @@ -202714,7 +202776,7 @@ Sha384.prototype._hash = function () { module.exports = Sha384 -},{"./hash":996,"./sha512":1003,"inherits":328,"safe-buffer":993}],1003:[function(require,module,exports){ +},{"./hash":1000,"./sha512":1007,"inherits":332,"safe-buffer":997}],1007:[function(require,module,exports){ var inherits = require('inherits') var Hash = require('./hash') var Buffer = require('safe-buffer').Buffer @@ -202976,7 +203038,7 @@ Sha512.prototype._hash = function () { module.exports = Sha512 -},{"./hash":996,"inherits":328,"safe-buffer":993}],1004:[function(require,module,exports){ +},{"./hash":1000,"inherits":332,"safe-buffer":997}],1008:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -203107,35 +203169,35 @@ Stream.prototype.pipe = function(dest, options) { return dest; }; -},{"events":280,"inherits":328,"readable-stream/lib/_stream_duplex.js":1006,"readable-stream/lib/_stream_passthrough.js":1007,"readable-stream/lib/_stream_readable.js":1008,"readable-stream/lib/_stream_transform.js":1009,"readable-stream/lib/_stream_writable.js":1010,"readable-stream/lib/internal/streams/end-of-stream.js":1014,"readable-stream/lib/internal/streams/pipeline.js":1016}],1005:[function(require,module,exports){ -arguments[4][105][0].apply(exports,arguments) -},{"dup":105}],1006:[function(require,module,exports){ -arguments[4][106][0].apply(exports,arguments) -},{"./_stream_readable":1008,"./_stream_writable":1010,"_process":974,"dup":106,"inherits":328}],1007:[function(require,module,exports){ -arguments[4][107][0].apply(exports,arguments) -},{"./_stream_transform":1009,"dup":107,"inherits":328}],1008:[function(require,module,exports){ -arguments[4][108][0].apply(exports,arguments) -},{"../errors":1005,"./_stream_duplex":1006,"./internal/streams/async_iterator":1011,"./internal/streams/buffer_list":1012,"./internal/streams/destroy":1013,"./internal/streams/from":1015,"./internal/streams/state":1017,"./internal/streams/stream":1018,"_process":974,"buffer":124,"dup":108,"events":280,"inherits":328,"string_decoder/":1038,"util":77}],1009:[function(require,module,exports){ +},{"events":284,"inherits":332,"readable-stream/lib/_stream_duplex.js":1010,"readable-stream/lib/_stream_passthrough.js":1011,"readable-stream/lib/_stream_readable.js":1012,"readable-stream/lib/_stream_transform.js":1013,"readable-stream/lib/_stream_writable.js":1014,"readable-stream/lib/internal/streams/end-of-stream.js":1018,"readable-stream/lib/internal/streams/pipeline.js":1020}],1009:[function(require,module,exports){ arguments[4][109][0].apply(exports,arguments) -},{"../errors":1005,"./_stream_duplex":1006,"dup":109,"inherits":328}],1010:[function(require,module,exports){ +},{"dup":109}],1010:[function(require,module,exports){ arguments[4][110][0].apply(exports,arguments) -},{"../errors":1005,"./_stream_duplex":1006,"./internal/streams/destroy":1013,"./internal/streams/state":1017,"./internal/streams/stream":1018,"_process":974,"buffer":124,"dup":110,"inherits":328,"util-deprecate":1060}],1011:[function(require,module,exports){ +},{"./_stream_readable":1012,"./_stream_writable":1014,"_process":978,"dup":110,"inherits":332}],1011:[function(require,module,exports){ arguments[4][111][0].apply(exports,arguments) -},{"./end-of-stream":1014,"_process":974,"dup":111}],1012:[function(require,module,exports){ +},{"./_stream_transform":1013,"dup":111,"inherits":332}],1012:[function(require,module,exports){ arguments[4][112][0].apply(exports,arguments) -},{"buffer":124,"dup":112,"util":77}],1013:[function(require,module,exports){ +},{"../errors":1009,"./_stream_duplex":1010,"./internal/streams/async_iterator":1015,"./internal/streams/buffer_list":1016,"./internal/streams/destroy":1017,"./internal/streams/from":1019,"./internal/streams/state":1021,"./internal/streams/stream":1022,"_process":978,"buffer":128,"dup":112,"events":284,"inherits":332,"string_decoder/":1042,"util":81}],1013:[function(require,module,exports){ arguments[4][113][0].apply(exports,arguments) -},{"_process":974,"dup":113}],1014:[function(require,module,exports){ +},{"../errors":1009,"./_stream_duplex":1010,"dup":113,"inherits":332}],1014:[function(require,module,exports){ arguments[4][114][0].apply(exports,arguments) -},{"../../../errors":1005,"dup":114}],1015:[function(require,module,exports){ +},{"../errors":1009,"./_stream_duplex":1010,"./internal/streams/destroy":1017,"./internal/streams/state":1021,"./internal/streams/stream":1022,"_process":978,"buffer":128,"dup":114,"inherits":332,"util-deprecate":1064}],1015:[function(require,module,exports){ arguments[4][115][0].apply(exports,arguments) -},{"dup":115}],1016:[function(require,module,exports){ +},{"./end-of-stream":1018,"_process":978,"dup":115}],1016:[function(require,module,exports){ arguments[4][116][0].apply(exports,arguments) -},{"../../../errors":1005,"./end-of-stream":1014,"dup":116}],1017:[function(require,module,exports){ +},{"buffer":128,"dup":116,"util":81}],1017:[function(require,module,exports){ arguments[4][117][0].apply(exports,arguments) -},{"../../../errors":1005,"dup":117}],1018:[function(require,module,exports){ +},{"_process":978,"dup":117}],1018:[function(require,module,exports){ arguments[4][118][0].apply(exports,arguments) -},{"dup":118,"events":280}],1019:[function(require,module,exports){ +},{"../../../errors":1009,"dup":118}],1019:[function(require,module,exports){ +arguments[4][119][0].apply(exports,arguments) +},{"dup":119}],1020:[function(require,module,exports){ +arguments[4][120][0].apply(exports,arguments) +},{"../../../errors":1009,"./end-of-stream":1018,"dup":120}],1021:[function(require,module,exports){ +arguments[4][121][0].apply(exports,arguments) +},{"../../../errors":1009,"dup":121}],1022:[function(require,module,exports){ +arguments[4][122][0].apply(exports,arguments) +},{"dup":122,"events":284}],1023:[function(require,module,exports){ (function (global){(function (){ var ClientRequest = require('./lib/request') var response = require('./lib/response') @@ -203223,7 +203285,7 @@ http.METHODS = [ 'UNSUBSCRIBE' ] }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./lib/request":1021,"./lib/response":1022,"builtin-status-codes":125,"url":1058,"xtend":1121}],1020:[function(require,module,exports){ +},{"./lib/request":1025,"./lib/response":1026,"builtin-status-codes":129,"url":1062,"xtend":1125}],1024:[function(require,module,exports){ (function (global){(function (){ exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream) @@ -203286,7 +203348,7 @@ function isFunction (value) { xhr = null // Help gc }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],1021:[function(require,module,exports){ +},{}],1025:[function(require,module,exports){ (function (process,global,Buffer){(function (){ var capability = require('./capability') var inherits = require('inherits') @@ -203642,7 +203704,7 @@ var unsafeHeaders = [ ] }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer) -},{"./capability":1020,"./response":1022,"_process":974,"buffer":124,"inherits":328,"readable-stream":1037}],1022:[function(require,module,exports){ +},{"./capability":1024,"./response":1026,"_process":978,"buffer":128,"inherits":332,"readable-stream":1041}],1026:[function(require,module,exports){ (function (process,global,Buffer){(function (){ var capability = require('./capability') var inherits = require('inherits') @@ -203857,37 +203919,37 @@ IncomingMessage.prototype._onXHRProgress = function (resetTimers) { } }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer) -},{"./capability":1020,"_process":974,"buffer":124,"inherits":328,"readable-stream":1037}],1023:[function(require,module,exports){ -arguments[4][105][0].apply(exports,arguments) -},{"dup":105}],1024:[function(require,module,exports){ -arguments[4][106][0].apply(exports,arguments) -},{"./_stream_readable":1026,"./_stream_writable":1028,"_process":974,"dup":106,"inherits":328}],1025:[function(require,module,exports){ -arguments[4][107][0].apply(exports,arguments) -},{"./_stream_transform":1027,"dup":107,"inherits":328}],1026:[function(require,module,exports){ -arguments[4][108][0].apply(exports,arguments) -},{"../errors":1023,"./_stream_duplex":1024,"./internal/streams/async_iterator":1029,"./internal/streams/buffer_list":1030,"./internal/streams/destroy":1031,"./internal/streams/from":1033,"./internal/streams/state":1035,"./internal/streams/stream":1036,"_process":974,"buffer":124,"dup":108,"events":280,"inherits":328,"string_decoder/":1038,"util":77}],1027:[function(require,module,exports){ +},{"./capability":1024,"_process":978,"buffer":128,"inherits":332,"readable-stream":1041}],1027:[function(require,module,exports){ arguments[4][109][0].apply(exports,arguments) -},{"../errors":1023,"./_stream_duplex":1024,"dup":109,"inherits":328}],1028:[function(require,module,exports){ +},{"dup":109}],1028:[function(require,module,exports){ arguments[4][110][0].apply(exports,arguments) -},{"../errors":1023,"./_stream_duplex":1024,"./internal/streams/destroy":1031,"./internal/streams/state":1035,"./internal/streams/stream":1036,"_process":974,"buffer":124,"dup":110,"inherits":328,"util-deprecate":1060}],1029:[function(require,module,exports){ +},{"./_stream_readable":1030,"./_stream_writable":1032,"_process":978,"dup":110,"inherits":332}],1029:[function(require,module,exports){ arguments[4][111][0].apply(exports,arguments) -},{"./end-of-stream":1032,"_process":974,"dup":111}],1030:[function(require,module,exports){ +},{"./_stream_transform":1031,"dup":111,"inherits":332}],1030:[function(require,module,exports){ arguments[4][112][0].apply(exports,arguments) -},{"buffer":124,"dup":112,"util":77}],1031:[function(require,module,exports){ +},{"../errors":1027,"./_stream_duplex":1028,"./internal/streams/async_iterator":1033,"./internal/streams/buffer_list":1034,"./internal/streams/destroy":1035,"./internal/streams/from":1037,"./internal/streams/state":1039,"./internal/streams/stream":1040,"_process":978,"buffer":128,"dup":112,"events":284,"inherits":332,"string_decoder/":1042,"util":81}],1031:[function(require,module,exports){ arguments[4][113][0].apply(exports,arguments) -},{"_process":974,"dup":113}],1032:[function(require,module,exports){ +},{"../errors":1027,"./_stream_duplex":1028,"dup":113,"inherits":332}],1032:[function(require,module,exports){ arguments[4][114][0].apply(exports,arguments) -},{"../../../errors":1023,"dup":114}],1033:[function(require,module,exports){ +},{"../errors":1027,"./_stream_duplex":1028,"./internal/streams/destroy":1035,"./internal/streams/state":1039,"./internal/streams/stream":1040,"_process":978,"buffer":128,"dup":114,"inherits":332,"util-deprecate":1064}],1033:[function(require,module,exports){ arguments[4][115][0].apply(exports,arguments) -},{"dup":115}],1034:[function(require,module,exports){ +},{"./end-of-stream":1036,"_process":978,"dup":115}],1034:[function(require,module,exports){ arguments[4][116][0].apply(exports,arguments) -},{"../../../errors":1023,"./end-of-stream":1032,"dup":116}],1035:[function(require,module,exports){ +},{"buffer":128,"dup":116,"util":81}],1035:[function(require,module,exports){ arguments[4][117][0].apply(exports,arguments) -},{"../../../errors":1023,"dup":117}],1036:[function(require,module,exports){ +},{"_process":978,"dup":117}],1036:[function(require,module,exports){ arguments[4][118][0].apply(exports,arguments) -},{"dup":118,"events":280}],1037:[function(require,module,exports){ +},{"../../../errors":1027,"dup":118}],1037:[function(require,module,exports){ arguments[4][119][0].apply(exports,arguments) -},{"./lib/_stream_duplex.js":1024,"./lib/_stream_passthrough.js":1025,"./lib/_stream_readable.js":1026,"./lib/_stream_transform.js":1027,"./lib/_stream_writable.js":1028,"./lib/internal/streams/end-of-stream.js":1032,"./lib/internal/streams/pipeline.js":1034,"dup":119}],1038:[function(require,module,exports){ +},{"dup":119}],1038:[function(require,module,exports){ +arguments[4][120][0].apply(exports,arguments) +},{"../../../errors":1027,"./end-of-stream":1036,"dup":120}],1039:[function(require,module,exports){ +arguments[4][121][0].apply(exports,arguments) +},{"../../../errors":1027,"dup":121}],1040:[function(require,module,exports){ +arguments[4][122][0].apply(exports,arguments) +},{"dup":122,"events":284}],1041:[function(require,module,exports){ +arguments[4][123][0].apply(exports,arguments) +},{"./lib/_stream_duplex.js":1028,"./lib/_stream_passthrough.js":1029,"./lib/_stream_readable.js":1030,"./lib/_stream_transform.js":1031,"./lib/_stream_writable.js":1032,"./lib/internal/streams/end-of-stream.js":1036,"./lib/internal/streams/pipeline.js":1038,"dup":123}],1042:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -204184,7 +204246,7 @@ function simpleWrite(buf) { function simpleEnd(buf) { return buf && buf.length ? this.write(buf) : ''; } -},{"safe-buffer":993}],1039:[function(require,module,exports){ +},{"safe-buffer":997}],1043:[function(require,module,exports){ 'use strict'; /** @@ -205024,7 +205086,7 @@ class SymbolTree { module.exports = SymbolTree; SymbolTree.TreePosition = TreePosition; -},{"./SymbolTreeNode":1040,"./TreeIterator":1041,"./TreePosition":1042}],1040:[function(require,module,exports){ +},{"./SymbolTreeNode":1044,"./TreeIterator":1045,"./TreePosition":1046}],1044:[function(require,module,exports){ 'use strict'; module.exports = class SymbolTreeNode { @@ -205080,7 +205142,7 @@ module.exports = class SymbolTreeNode { } }; -},{}],1041:[function(require,module,exports){ +},{}],1045:[function(require,module,exports){ 'use strict'; const TREE = Symbol(); @@ -205151,7 +205213,7 @@ Object.freeze(TreeIterator.prototype); module.exports = TreeIterator; -},{}],1042:[function(require,module,exports){ +},{}],1046:[function(require,module,exports){ 'use strict'; /* eslint-disable sort-keys */ @@ -205164,7 +205226,7 @@ module.exports = Object.freeze({ CONTAINED_BY: 16, }); -},{}],1043:[function(require,module,exports){ +},{}],1047:[function(require,module,exports){ (function (setImmediate,clearImmediate){(function (){ var nextTick = require('process/browser.js').nextTick; var apply = Function.prototype.apply; @@ -205243,7 +205305,7 @@ exports.clearImmediate = typeof clearImmediate === "function" ? clearImmediate : delete immediateIds[id]; }; }).call(this)}).call(this,require("timers").setImmediate,require("timers").clearImmediate) -},{"process/browser.js":974,"timers":1043}],1044:[function(require,module,exports){ +},{"process/browser.js":978,"timers":1047}],1048:[function(require,module,exports){ /*! * Copyright (c) 2015, Salesforce.com, Inc. * All rights reserved. @@ -206916,7 +206978,7 @@ exports.permutePath = permutePath; exports.canonicalDomain = canonicalDomain; exports.PrefixSecurityEnum = PrefixSecurityEnum; -},{"./memstore":1045,"./pathMatch":1046,"./permuteDomain":1047,"./pubsuffix-psl":1048,"./store":1049,"./version":1050,"punycode":984,"universalify":1057,"url":1058,"util":1063}],1045:[function(require,module,exports){ +},{"./memstore":1049,"./pathMatch":1050,"./permuteDomain":1051,"./pubsuffix-psl":1052,"./store":1053,"./version":1054,"punycode":988,"universalify":1061,"url":1062,"util":1067}],1049:[function(require,module,exports){ /*! * Copyright (c) 2015, Salesforce.com, Inc. * All rights reserved. @@ -207108,7 +207170,7 @@ class MemoryCookieStore extends Store { exports.MemoryCookieStore = MemoryCookieStore; -},{"./pathMatch":1046,"./permuteDomain":1047,"./store":1049,"universalify":1057,"util":1063}],1046:[function(require,module,exports){ +},{"./pathMatch":1050,"./permuteDomain":1051,"./store":1053,"universalify":1061,"util":1067}],1050:[function(require,module,exports){ /*! * Copyright (c) 2015, Salesforce.com, Inc. * All rights reserved. @@ -207171,7 +207233,7 @@ function pathMatch(reqPath, cookiePath) { exports.pathMatch = pathMatch; -},{}],1047:[function(require,module,exports){ +},{}],1051:[function(require,module,exports){ /*! * Copyright (c) 2015, Salesforce.com, Inc. * All rights reserved. @@ -207243,7 +207305,7 @@ function permuteDomain(domain, allowSpecialUseDomain) { exports.permuteDomain = permuteDomain; -},{"./pubsuffix-psl":1048}],1048:[function(require,module,exports){ +},{"./pubsuffix-psl":1052}],1052:[function(require,module,exports){ /*! * Copyright (c) 2018, Salesforce.com, Inc. * All rights reserved. @@ -207283,7 +207345,7 @@ function getPublicSuffix(domain) { exports.getPublicSuffix = getPublicSuffix; -},{"psl":976}],1049:[function(require,module,exports){ +},{"psl":980}],1053:[function(require,module,exports){ /*! * Copyright (c) 2015, Salesforce.com, Inc. * All rights reserved. @@ -207361,11 +207423,11 @@ class Store { exports.Store = Store; -},{}],1050:[function(require,module,exports){ +},{}],1054:[function(require,module,exports){ // generated by genversion module.exports = '4.0.0' -},{}],1051:[function(require,module,exports){ +},{}],1055:[function(require,module,exports){ "use strict"; const punycode = require("punycode"); @@ -207664,9 +207726,9 @@ module.exports = { toUnicode }; -},{"./lib/mappingTable.json":1052,"./lib/regexes.js":1053,"./lib/statusMapping.js":1054,"punycode":984}],1052:[function(require,module,exports){ +},{"./lib/mappingTable.json":1056,"./lib/regexes.js":1057,"./lib/statusMapping.js":1058,"punycode":988}],1056:[function(require,module,exports){ module.exports=[[[0,44],4],[[45,46],2],[47,4],[[48,57],2],[[58,64],4],[65,1,"a"],[66,1,"b"],[67,1,"c"],[68,1,"d"],[69,1,"e"],[70,1,"f"],[71,1,"g"],[72,1,"h"],[73,1,"i"],[74,1,"j"],[75,1,"k"],[76,1,"l"],[77,1,"m"],[78,1,"n"],[79,1,"o"],[80,1,"p"],[81,1,"q"],[82,1,"r"],[83,1,"s"],[84,1,"t"],[85,1,"u"],[86,1,"v"],[87,1,"w"],[88,1,"x"],[89,1,"y"],[90,1,"z"],[[91,96],4],[[97,122],2],[[123,127],4],[[128,159],3],[160,5," "],[[161,167],2],[168,5," ̈"],[169,2],[170,1,"a"],[[171,172],2],[173,7],[174,2],[175,5," ̄"],[[176,177],2],[178,1,"2"],[179,1,"3"],[180,5," ́"],[181,1,"μ"],[182,2],[183,2],[184,5," ̧"],[185,1,"1"],[186,1,"o"],[187,2],[188,1,"1⁄4"],[189,1,"1⁄2"],[190,1,"3⁄4"],[191,2],[192,1,"à"],[193,1,"á"],[194,1,"â"],[195,1,"ã"],[196,1,"ä"],[197,1,"å"],[198,1,"æ"],[199,1,"ç"],[200,1,"è"],[201,1,"é"],[202,1,"ê"],[203,1,"ë"],[204,1,"ì"],[205,1,"í"],[206,1,"î"],[207,1,"ï"],[208,1,"ð"],[209,1,"ñ"],[210,1,"ò"],[211,1,"ó"],[212,1,"ô"],[213,1,"õ"],[214,1,"ö"],[215,2],[216,1,"ø"],[217,1,"ù"],[218,1,"ú"],[219,1,"û"],[220,1,"ü"],[221,1,"ý"],[222,1,"þ"],[223,6,"ss"],[[224,246],2],[247,2],[[248,255],2],[256,1,"ā"],[257,2],[258,1,"ă"],[259,2],[260,1,"ą"],[261,2],[262,1,"ć"],[263,2],[264,1,"ĉ"],[265,2],[266,1,"ċ"],[267,2],[268,1,"č"],[269,2],[270,1,"ď"],[271,2],[272,1,"đ"],[273,2],[274,1,"ē"],[275,2],[276,1,"ĕ"],[277,2],[278,1,"ė"],[279,2],[280,1,"ę"],[281,2],[282,1,"ě"],[283,2],[284,1,"ĝ"],[285,2],[286,1,"ğ"],[287,2],[288,1,"ġ"],[289,2],[290,1,"ģ"],[291,2],[292,1,"ĥ"],[293,2],[294,1,"ħ"],[295,2],[296,1,"ĩ"],[297,2],[298,1,"ī"],[299,2],[300,1,"ĭ"],[301,2],[302,1,"į"],[303,2],[304,1,"i̇"],[305,2],[[306,307],1,"ij"],[308,1,"ĵ"],[309,2],[310,1,"ķ"],[[311,312],2],[313,1,"ĺ"],[314,2],[315,1,"ļ"],[316,2],[317,1,"ľ"],[318,2],[[319,320],1,"l·"],[321,1,"ł"],[322,2],[323,1,"ń"],[324,2],[325,1,"ņ"],[326,2],[327,1,"ň"],[328,2],[329,1,"ʼn"],[330,1,"ŋ"],[331,2],[332,1,"ō"],[333,2],[334,1,"ŏ"],[335,2],[336,1,"ő"],[337,2],[338,1,"œ"],[339,2],[340,1,"ŕ"],[341,2],[342,1,"ŗ"],[343,2],[344,1,"ř"],[345,2],[346,1,"ś"],[347,2],[348,1,"ŝ"],[349,2],[350,1,"ş"],[351,2],[352,1,"š"],[353,2],[354,1,"ţ"],[355,2],[356,1,"ť"],[357,2],[358,1,"ŧ"],[359,2],[360,1,"ũ"],[361,2],[362,1,"ū"],[363,2],[364,1,"ŭ"],[365,2],[366,1,"ů"],[367,2],[368,1,"ű"],[369,2],[370,1,"ų"],[371,2],[372,1,"ŵ"],[373,2],[374,1,"ŷ"],[375,2],[376,1,"ÿ"],[377,1,"ź"],[378,2],[379,1,"ż"],[380,2],[381,1,"ž"],[382,2],[383,1,"s"],[384,2],[385,1,"ɓ"],[386,1,"ƃ"],[387,2],[388,1,"ƅ"],[389,2],[390,1,"ɔ"],[391,1,"ƈ"],[392,2],[393,1,"ɖ"],[394,1,"ɗ"],[395,1,"ƌ"],[[396,397],2],[398,1,"ǝ"],[399,1,"ə"],[400,1,"ɛ"],[401,1,"ƒ"],[402,2],[403,1,"ɠ"],[404,1,"ɣ"],[405,2],[406,1,"ɩ"],[407,1,"ɨ"],[408,1,"ƙ"],[[409,411],2],[412,1,"ɯ"],[413,1,"ɲ"],[414,2],[415,1,"ɵ"],[416,1,"ơ"],[417,2],[418,1,"ƣ"],[419,2],[420,1,"ƥ"],[421,2],[422,1,"ʀ"],[423,1,"ƨ"],[424,2],[425,1,"ʃ"],[[426,427],2],[428,1,"ƭ"],[429,2],[430,1,"ʈ"],[431,1,"ư"],[432,2],[433,1,"ʊ"],[434,1,"ʋ"],[435,1,"ƴ"],[436,2],[437,1,"ƶ"],[438,2],[439,1,"ʒ"],[440,1,"ƹ"],[[441,443],2],[444,1,"ƽ"],[[445,451],2],[[452,454],1,"dž"],[[455,457],1,"lj"],[[458,460],1,"nj"],[461,1,"ǎ"],[462,2],[463,1,"ǐ"],[464,2],[465,1,"ǒ"],[466,2],[467,1,"ǔ"],[468,2],[469,1,"ǖ"],[470,2],[471,1,"ǘ"],[472,2],[473,1,"ǚ"],[474,2],[475,1,"ǜ"],[[476,477],2],[478,1,"ǟ"],[479,2],[480,1,"ǡ"],[481,2],[482,1,"ǣ"],[483,2],[484,1,"ǥ"],[485,2],[486,1,"ǧ"],[487,2],[488,1,"ǩ"],[489,2],[490,1,"ǫ"],[491,2],[492,1,"ǭ"],[493,2],[494,1,"ǯ"],[[495,496],2],[[497,499],1,"dz"],[500,1,"ǵ"],[501,2],[502,1,"ƕ"],[503,1,"ƿ"],[504,1,"ǹ"],[505,2],[506,1,"ǻ"],[507,2],[508,1,"ǽ"],[509,2],[510,1,"ǿ"],[511,2],[512,1,"ȁ"],[513,2],[514,1,"ȃ"],[515,2],[516,1,"ȅ"],[517,2],[518,1,"ȇ"],[519,2],[520,1,"ȉ"],[521,2],[522,1,"ȋ"],[523,2],[524,1,"ȍ"],[525,2],[526,1,"ȏ"],[527,2],[528,1,"ȑ"],[529,2],[530,1,"ȓ"],[531,2],[532,1,"ȕ"],[533,2],[534,1,"ȗ"],[535,2],[536,1,"ș"],[537,2],[538,1,"ț"],[539,2],[540,1,"ȝ"],[541,2],[542,1,"ȟ"],[543,2],[544,1,"ƞ"],[545,2],[546,1,"ȣ"],[547,2],[548,1,"ȥ"],[549,2],[550,1,"ȧ"],[551,2],[552,1,"ȩ"],[553,2],[554,1,"ȫ"],[555,2],[556,1,"ȭ"],[557,2],[558,1,"ȯ"],[559,2],[560,1,"ȱ"],[561,2],[562,1,"ȳ"],[563,2],[[564,566],2],[[567,569],2],[570,1,"ⱥ"],[571,1,"ȼ"],[572,2],[573,1,"ƚ"],[574,1,"ⱦ"],[[575,576],2],[577,1,"ɂ"],[578,2],[579,1,"ƀ"],[580,1,"ʉ"],[581,1,"ʌ"],[582,1,"ɇ"],[583,2],[584,1,"ɉ"],[585,2],[586,1,"ɋ"],[587,2],[588,1,"ɍ"],[589,2],[590,1,"ɏ"],[591,2],[[592,680],2],[[681,685],2],[[686,687],2],[688,1,"h"],[689,1,"ɦ"],[690,1,"j"],[691,1,"r"],[692,1,"ɹ"],[693,1,"ɻ"],[694,1,"ʁ"],[695,1,"w"],[696,1,"y"],[[697,705],2],[[706,709],2],[[710,721],2],[[722,727],2],[728,5," ̆"],[729,5," ̇"],[730,5," ̊"],[731,5," ̨"],[732,5," ̃"],[733,5," ̋"],[734,2],[735,2],[736,1,"ɣ"],[737,1,"l"],[738,1,"s"],[739,1,"x"],[740,1,"ʕ"],[[741,745],2],[[746,747],2],[748,2],[749,2],[750,2],[[751,767],2],[[768,831],2],[832,1,"̀"],[833,1,"́"],[834,2],[835,1,"̓"],[836,1,"̈́"],[837,1,"ι"],[[838,846],2],[847,7],[[848,855],2],[[856,860],2],[[861,863],2],[[864,865],2],[866,2],[[867,879],2],[880,1,"ͱ"],[881,2],[882,1,"ͳ"],[883,2],[884,1,"ʹ"],[885,2],[886,1,"ͷ"],[887,2],[[888,889],3],[890,5," ι"],[[891,893],2],[894,5,";"],[895,1,"ϳ"],[[896,899],3],[900,5," ́"],[901,5," ̈́"],[902,1,"ά"],[903,1,"·"],[904,1,"έ"],[905,1,"ή"],[906,1,"ί"],[907,3],[908,1,"ό"],[909,3],[910,1,"ύ"],[911,1,"ώ"],[912,2],[913,1,"α"],[914,1,"β"],[915,1,"γ"],[916,1,"δ"],[917,1,"ε"],[918,1,"ζ"],[919,1,"η"],[920,1,"θ"],[921,1,"ι"],[922,1,"κ"],[923,1,"λ"],[924,1,"μ"],[925,1,"ν"],[926,1,"ξ"],[927,1,"ο"],[928,1,"π"],[929,1,"ρ"],[930,3],[931,1,"σ"],[932,1,"τ"],[933,1,"υ"],[934,1,"φ"],[935,1,"χ"],[936,1,"ψ"],[937,1,"ω"],[938,1,"ϊ"],[939,1,"ϋ"],[[940,961],2],[962,6,"σ"],[[963,974],2],[975,1,"ϗ"],[976,1,"β"],[977,1,"θ"],[978,1,"υ"],[979,1,"ύ"],[980,1,"ϋ"],[981,1,"φ"],[982,1,"π"],[983,2],[984,1,"ϙ"],[985,2],[986,1,"ϛ"],[987,2],[988,1,"ϝ"],[989,2],[990,1,"ϟ"],[991,2],[992,1,"ϡ"],[993,2],[994,1,"ϣ"],[995,2],[996,1,"ϥ"],[997,2],[998,1,"ϧ"],[999,2],[1000,1,"ϩ"],[1001,2],[1002,1,"ϫ"],[1003,2],[1004,1,"ϭ"],[1005,2],[1006,1,"ϯ"],[1007,2],[1008,1,"κ"],[1009,1,"ρ"],[1010,1,"σ"],[1011,2],[1012,1,"θ"],[1013,1,"ε"],[1014,2],[1015,1,"ϸ"],[1016,2],[1017,1,"σ"],[1018,1,"ϻ"],[1019,2],[1020,2],[1021,1,"ͻ"],[1022,1,"ͼ"],[1023,1,"ͽ"],[1024,1,"ѐ"],[1025,1,"ё"],[1026,1,"ђ"],[1027,1,"ѓ"],[1028,1,"є"],[1029,1,"ѕ"],[1030,1,"і"],[1031,1,"ї"],[1032,1,"ј"],[1033,1,"љ"],[1034,1,"њ"],[1035,1,"ћ"],[1036,1,"ќ"],[1037,1,"ѝ"],[1038,1,"ў"],[1039,1,"џ"],[1040,1,"а"],[1041,1,"б"],[1042,1,"в"],[1043,1,"г"],[1044,1,"д"],[1045,1,"е"],[1046,1,"ж"],[1047,1,"з"],[1048,1,"и"],[1049,1,"й"],[1050,1,"к"],[1051,1,"л"],[1052,1,"м"],[1053,1,"н"],[1054,1,"о"],[1055,1,"п"],[1056,1,"р"],[1057,1,"с"],[1058,1,"т"],[1059,1,"у"],[1060,1,"ф"],[1061,1,"х"],[1062,1,"ц"],[1063,1,"ч"],[1064,1,"ш"],[1065,1,"щ"],[1066,1,"ъ"],[1067,1,"ы"],[1068,1,"ь"],[1069,1,"э"],[1070,1,"ю"],[1071,1,"я"],[[1072,1103],2],[1104,2],[[1105,1116],2],[1117,2],[[1118,1119],2],[1120,1,"ѡ"],[1121,2],[1122,1,"ѣ"],[1123,2],[1124,1,"ѥ"],[1125,2],[1126,1,"ѧ"],[1127,2],[1128,1,"ѩ"],[1129,2],[1130,1,"ѫ"],[1131,2],[1132,1,"ѭ"],[1133,2],[1134,1,"ѯ"],[1135,2],[1136,1,"ѱ"],[1137,2],[1138,1,"ѳ"],[1139,2],[1140,1,"ѵ"],[1141,2],[1142,1,"ѷ"],[1143,2],[1144,1,"ѹ"],[1145,2],[1146,1,"ѻ"],[1147,2],[1148,1,"ѽ"],[1149,2],[1150,1,"ѿ"],[1151,2],[1152,1,"ҁ"],[1153,2],[1154,2],[[1155,1158],2],[1159,2],[[1160,1161],2],[1162,1,"ҋ"],[1163,2],[1164,1,"ҍ"],[1165,2],[1166,1,"ҏ"],[1167,2],[1168,1,"ґ"],[1169,2],[1170,1,"ғ"],[1171,2],[1172,1,"ҕ"],[1173,2],[1174,1,"җ"],[1175,2],[1176,1,"ҙ"],[1177,2],[1178,1,"қ"],[1179,2],[1180,1,"ҝ"],[1181,2],[1182,1,"ҟ"],[1183,2],[1184,1,"ҡ"],[1185,2],[1186,1,"ң"],[1187,2],[1188,1,"ҥ"],[1189,2],[1190,1,"ҧ"],[1191,2],[1192,1,"ҩ"],[1193,2],[1194,1,"ҫ"],[1195,2],[1196,1,"ҭ"],[1197,2],[1198,1,"ү"],[1199,2],[1200,1,"ұ"],[1201,2],[1202,1,"ҳ"],[1203,2],[1204,1,"ҵ"],[1205,2],[1206,1,"ҷ"],[1207,2],[1208,1,"ҹ"],[1209,2],[1210,1,"һ"],[1211,2],[1212,1,"ҽ"],[1213,2],[1214,1,"ҿ"],[1215,2],[1216,3],[1217,1,"ӂ"],[1218,2],[1219,1,"ӄ"],[1220,2],[1221,1,"ӆ"],[1222,2],[1223,1,"ӈ"],[1224,2],[1225,1,"ӊ"],[1226,2],[1227,1,"ӌ"],[1228,2],[1229,1,"ӎ"],[1230,2],[1231,2],[1232,1,"ӑ"],[1233,2],[1234,1,"ӓ"],[1235,2],[1236,1,"ӕ"],[1237,2],[1238,1,"ӗ"],[1239,2],[1240,1,"ә"],[1241,2],[1242,1,"ӛ"],[1243,2],[1244,1,"ӝ"],[1245,2],[1246,1,"ӟ"],[1247,2],[1248,1,"ӡ"],[1249,2],[1250,1,"ӣ"],[1251,2],[1252,1,"ӥ"],[1253,2],[1254,1,"ӧ"],[1255,2],[1256,1,"ө"],[1257,2],[1258,1,"ӫ"],[1259,2],[1260,1,"ӭ"],[1261,2],[1262,1,"ӯ"],[1263,2],[1264,1,"ӱ"],[1265,2],[1266,1,"ӳ"],[1267,2],[1268,1,"ӵ"],[1269,2],[1270,1,"ӷ"],[1271,2],[1272,1,"ӹ"],[1273,2],[1274,1,"ӻ"],[1275,2],[1276,1,"ӽ"],[1277,2],[1278,1,"ӿ"],[1279,2],[1280,1,"ԁ"],[1281,2],[1282,1,"ԃ"],[1283,2],[1284,1,"ԅ"],[1285,2],[1286,1,"ԇ"],[1287,2],[1288,1,"ԉ"],[1289,2],[1290,1,"ԋ"],[1291,2],[1292,1,"ԍ"],[1293,2],[1294,1,"ԏ"],[1295,2],[1296,1,"ԑ"],[1297,2],[1298,1,"ԓ"],[1299,2],[1300,1,"ԕ"],[1301,2],[1302,1,"ԗ"],[1303,2],[1304,1,"ԙ"],[1305,2],[1306,1,"ԛ"],[1307,2],[1308,1,"ԝ"],[1309,2],[1310,1,"ԟ"],[1311,2],[1312,1,"ԡ"],[1313,2],[1314,1,"ԣ"],[1315,2],[1316,1,"ԥ"],[1317,2],[1318,1,"ԧ"],[1319,2],[1320,1,"ԩ"],[1321,2],[1322,1,"ԫ"],[1323,2],[1324,1,"ԭ"],[1325,2],[1326,1,"ԯ"],[1327,2],[1328,3],[1329,1,"ա"],[1330,1,"բ"],[1331,1,"գ"],[1332,1,"դ"],[1333,1,"ե"],[1334,1,"զ"],[1335,1,"է"],[1336,1,"ը"],[1337,1,"թ"],[1338,1,"ժ"],[1339,1,"ի"],[1340,1,"լ"],[1341,1,"խ"],[1342,1,"ծ"],[1343,1,"կ"],[1344,1,"հ"],[1345,1,"ձ"],[1346,1,"ղ"],[1347,1,"ճ"],[1348,1,"մ"],[1349,1,"յ"],[1350,1,"ն"],[1351,1,"շ"],[1352,1,"ո"],[1353,1,"չ"],[1354,1,"պ"],[1355,1,"ջ"],[1356,1,"ռ"],[1357,1,"ս"],[1358,1,"վ"],[1359,1,"տ"],[1360,1,"ր"],[1361,1,"ց"],[1362,1,"ւ"],[1363,1,"փ"],[1364,1,"ք"],[1365,1,"օ"],[1366,1,"ֆ"],[[1367,1368],3],[1369,2],[[1370,1375],2],[1376,2],[[1377,1414],2],[1415,1,"եւ"],[1416,2],[1417,2],[1418,2],[[1419,1420],3],[[1421,1422],2],[1423,2],[1424,3],[[1425,1441],2],[1442,2],[[1443,1455],2],[[1456,1465],2],[1466,2],[[1467,1469],2],[1470,2],[1471,2],[1472,2],[[1473,1474],2],[1475,2],[1476,2],[1477,2],[1478,2],[1479,2],[[1480,1487],3],[[1488,1514],2],[[1515,1518],3],[1519,2],[[1520,1524],2],[[1525,1535],3],[[1536,1539],3],[1540,3],[1541,3],[[1542,1546],2],[1547,2],[1548,2],[[1549,1551],2],[[1552,1557],2],[[1558,1562],2],[1563,2],[1564,3],[1565,3],[1566,2],[1567,2],[1568,2],[[1569,1594],2],[[1595,1599],2],[1600,2],[[1601,1618],2],[[1619,1621],2],[[1622,1624],2],[[1625,1630],2],[1631,2],[[1632,1641],2],[[1642,1645],2],[[1646,1647],2],[[1648,1652],2],[1653,1,"اٴ"],[1654,1,"وٴ"],[1655,1,"ۇٴ"],[1656,1,"يٴ"],[[1657,1719],2],[[1720,1721],2],[[1722,1726],2],[1727,2],[[1728,1742],2],[1743,2],[[1744,1747],2],[1748,2],[[1749,1756],2],[1757,3],[1758,2],[[1759,1768],2],[1769,2],[[1770,1773],2],[[1774,1775],2],[[1776,1785],2],[[1786,1790],2],[1791,2],[[1792,1805],2],[1806,3],[1807,3],[[1808,1836],2],[[1837,1839],2],[[1840,1866],2],[[1867,1868],3],[[1869,1871],2],[[1872,1901],2],[[1902,1919],2],[[1920,1968],2],[1969,2],[[1970,1983],3],[[1984,2037],2],[[2038,2042],2],[[2043,2044],3],[2045,2],[[2046,2047],2],[[2048,2093],2],[[2094,2095],3],[[2096,2110],2],[2111,3],[[2112,2139],2],[[2140,2141],3],[2142,2],[2143,3],[[2144,2154],2],[[2155,2207],3],[2208,2],[2209,2],[[2210,2220],2],[[2221,2226],2],[[2227,2228],2],[2229,3],[[2230,2237],2],[[2238,2247],2],[[2248,2258],3],[2259,2],[[2260,2273],2],[2274,3],[2275,2],[[2276,2302],2],[2303,2],[2304,2],[[2305,2307],2],[2308,2],[[2309,2361],2],[[2362,2363],2],[[2364,2381],2],[2382,2],[2383,2],[[2384,2388],2],[2389,2],[[2390,2391],2],[2392,1,"क़"],[2393,1,"ख़"],[2394,1,"ग़"],[2395,1,"ज़"],[2396,1,"ड़"],[2397,1,"ढ़"],[2398,1,"फ़"],[2399,1,"य़"],[[2400,2403],2],[[2404,2405],2],[[2406,2415],2],[2416,2],[[2417,2418],2],[[2419,2423],2],[2424,2],[[2425,2426],2],[[2427,2428],2],[2429,2],[[2430,2431],2],[2432,2],[[2433,2435],2],[2436,3],[[2437,2444],2],[[2445,2446],3],[[2447,2448],2],[[2449,2450],3],[[2451,2472],2],[2473,3],[[2474,2480],2],[2481,3],[2482,2],[[2483,2485],3],[[2486,2489],2],[[2490,2491],3],[2492,2],[2493,2],[[2494,2500],2],[[2501,2502],3],[[2503,2504],2],[[2505,2506],3],[[2507,2509],2],[2510,2],[[2511,2518],3],[2519,2],[[2520,2523],3],[2524,1,"ড়"],[2525,1,"ঢ়"],[2526,3],[2527,1,"য়"],[[2528,2531],2],[[2532,2533],3],[[2534,2545],2],[[2546,2554],2],[2555,2],[2556,2],[2557,2],[2558,2],[[2559,2560],3],[2561,2],[2562,2],[2563,2],[2564,3],[[2565,2570],2],[[2571,2574],3],[[2575,2576],2],[[2577,2578],3],[[2579,2600],2],[2601,3],[[2602,2608],2],[2609,3],[2610,2],[2611,1,"ਲ਼"],[2612,3],[2613,2],[2614,1,"ਸ਼"],[2615,3],[[2616,2617],2],[[2618,2619],3],[2620,2],[2621,3],[[2622,2626],2],[[2627,2630],3],[[2631,2632],2],[[2633,2634],3],[[2635,2637],2],[[2638,2640],3],[2641,2],[[2642,2648],3],[2649,1,"ਖ਼"],[2650,1,"ਗ਼"],[2651,1,"ਜ਼"],[2652,2],[2653,3],[2654,1,"ਫ਼"],[[2655,2661],3],[[2662,2676],2],[2677,2],[2678,2],[[2679,2688],3],[[2689,2691],2],[2692,3],[[2693,2699],2],[2700,2],[2701,2],[2702,3],[[2703,2705],2],[2706,3],[[2707,2728],2],[2729,3],[[2730,2736],2],[2737,3],[[2738,2739],2],[2740,3],[[2741,2745],2],[[2746,2747],3],[[2748,2757],2],[2758,3],[[2759,2761],2],[2762,3],[[2763,2765],2],[[2766,2767],3],[2768,2],[[2769,2783],3],[2784,2],[[2785,2787],2],[[2788,2789],3],[[2790,2799],2],[2800,2],[2801,2],[[2802,2808],3],[2809,2],[[2810,2815],2],[2816,3],[[2817,2819],2],[2820,3],[[2821,2828],2],[[2829,2830],3],[[2831,2832],2],[[2833,2834],3],[[2835,2856],2],[2857,3],[[2858,2864],2],[2865,3],[[2866,2867],2],[2868,3],[2869,2],[[2870,2873],2],[[2874,2875],3],[[2876,2883],2],[2884,2],[[2885,2886],3],[[2887,2888],2],[[2889,2890],3],[[2891,2893],2],[[2894,2900],3],[2901,2],[[2902,2903],2],[[2904,2907],3],[2908,1,"ଡ଼"],[2909,1,"ଢ଼"],[2910,3],[[2911,2913],2],[[2914,2915],2],[[2916,2917],3],[[2918,2927],2],[2928,2],[2929,2],[[2930,2935],2],[[2936,2945],3],[[2946,2947],2],[2948,3],[[2949,2954],2],[[2955,2957],3],[[2958,2960],2],[2961,3],[[2962,2965],2],[[2966,2968],3],[[2969,2970],2],[2971,3],[2972,2],[2973,3],[[2974,2975],2],[[2976,2978],3],[[2979,2980],2],[[2981,2983],3],[[2984,2986],2],[[2987,2989],3],[[2990,2997],2],[2998,2],[[2999,3001],2],[[3002,3005],3],[[3006,3010],2],[[3011,3013],3],[[3014,3016],2],[3017,3],[[3018,3021],2],[[3022,3023],3],[3024,2],[[3025,3030],3],[3031,2],[[3032,3045],3],[3046,2],[[3047,3055],2],[[3056,3058],2],[[3059,3066],2],[[3067,3071],3],[3072,2],[[3073,3075],2],[3076,2],[[3077,3084],2],[3085,3],[[3086,3088],2],[3089,3],[[3090,3112],2],[3113,3],[[3114,3123],2],[3124,2],[[3125,3129],2],[[3130,3132],3],[3133,2],[[3134,3140],2],[3141,3],[[3142,3144],2],[3145,3],[[3146,3149],2],[[3150,3156],3],[[3157,3158],2],[3159,3],[[3160,3161],2],[3162,2],[[3163,3167],3],[[3168,3169],2],[[3170,3171],2],[[3172,3173],3],[[3174,3183],2],[[3184,3190],3],[3191,2],[[3192,3199],2],[3200,2],[3201,2],[[3202,3203],2],[3204,2],[[3205,3212],2],[3213,3],[[3214,3216],2],[3217,3],[[3218,3240],2],[3241,3],[[3242,3251],2],[3252,3],[[3253,3257],2],[[3258,3259],3],[[3260,3261],2],[[3262,3268],2],[3269,3],[[3270,3272],2],[3273,3],[[3274,3277],2],[[3278,3284],3],[[3285,3286],2],[[3287,3293],3],[3294,2],[3295,3],[[3296,3297],2],[[3298,3299],2],[[3300,3301],3],[[3302,3311],2],[3312,3],[[3313,3314],2],[[3315,3327],3],[3328,2],[3329,2],[[3330,3331],2],[3332,2],[[3333,3340],2],[3341,3],[[3342,3344],2],[3345,3],[[3346,3368],2],[3369,2],[[3370,3385],2],[3386,2],[[3387,3388],2],[3389,2],[[3390,3395],2],[3396,2],[3397,3],[[3398,3400],2],[3401,3],[[3402,3405],2],[3406,2],[3407,2],[[3408,3411],3],[[3412,3414],2],[3415,2],[[3416,3422],2],[3423,2],[[3424,3425],2],[[3426,3427],2],[[3428,3429],3],[[3430,3439],2],[[3440,3445],2],[[3446,3448],2],[3449,2],[[3450,3455],2],[3456,3],[3457,2],[[3458,3459],2],[3460,3],[[3461,3478],2],[[3479,3481],3],[[3482,3505],2],[3506,3],[[3507,3515],2],[3516,3],[3517,2],[[3518,3519],3],[[3520,3526],2],[[3527,3529],3],[3530,2],[[3531,3534],3],[[3535,3540],2],[3541,3],[3542,2],[3543,3],[[3544,3551],2],[[3552,3557],3],[[3558,3567],2],[[3568,3569],3],[[3570,3571],2],[3572,2],[[3573,3584],3],[[3585,3634],2],[3635,1,"ํา"],[[3636,3642],2],[[3643,3646],3],[3647,2],[[3648,3662],2],[3663,2],[[3664,3673],2],[[3674,3675],2],[[3676,3712],3],[[3713,3714],2],[3715,3],[3716,2],[3717,3],[3718,2],[[3719,3720],2],[3721,2],[3722,2],[3723,3],[3724,2],[3725,2],[[3726,3731],2],[[3732,3735],2],[3736,2],[[3737,3743],2],[3744,2],[[3745,3747],2],[3748,3],[3749,2],[3750,3],[3751,2],[[3752,3753],2],[[3754,3755],2],[3756,2],[[3757,3762],2],[3763,1,"ໍາ"],[[3764,3769],2],[3770,2],[[3771,3773],2],[[3774,3775],3],[[3776,3780],2],[3781,3],[3782,2],[3783,3],[[3784,3789],2],[[3790,3791],3],[[3792,3801],2],[[3802,3803],3],[3804,1,"ຫນ"],[3805,1,"ຫມ"],[[3806,3807],2],[[3808,3839],3],[3840,2],[[3841,3850],2],[3851,2],[3852,1,"་"],[[3853,3863],2],[[3864,3865],2],[[3866,3871],2],[[3872,3881],2],[[3882,3892],2],[3893,2],[3894,2],[3895,2],[3896,2],[3897,2],[[3898,3901],2],[[3902,3906],2],[3907,1,"གྷ"],[[3908,3911],2],[3912,3],[[3913,3916],2],[3917,1,"ཌྷ"],[[3918,3921],2],[3922,1,"དྷ"],[[3923,3926],2],[3927,1,"བྷ"],[[3928,3931],2],[3932,1,"ཛྷ"],[[3933,3944],2],[3945,1,"ཀྵ"],[3946,2],[[3947,3948],2],[[3949,3952],3],[[3953,3954],2],[3955,1,"ཱི"],[3956,2],[3957,1,"ཱུ"],[3958,1,"ྲྀ"],[3959,1,"ྲཱྀ"],[3960,1,"ླྀ"],[3961,1,"ླཱྀ"],[[3962,3968],2],[3969,1,"ཱྀ"],[[3970,3972],2],[3973,2],[[3974,3979],2],[[3980,3983],2],[[3984,3986],2],[3987,1,"ྒྷ"],[[3988,3989],2],[3990,2],[3991,2],[3992,3],[[3993,3996],2],[3997,1,"ྜྷ"],[[3998,4001],2],[4002,1,"ྡྷ"],[[4003,4006],2],[4007,1,"ྦྷ"],[[4008,4011],2],[4012,1,"ྫྷ"],[4013,2],[[4014,4016],2],[[4017,4023],2],[4024,2],[4025,1,"ྐྵ"],[[4026,4028],2],[4029,3],[[4030,4037],2],[4038,2],[[4039,4044],2],[4045,3],[4046,2],[4047,2],[[4048,4049],2],[[4050,4052],2],[[4053,4056],2],[[4057,4058],2],[[4059,4095],3],[[4096,4129],2],[4130,2],[[4131,4135],2],[4136,2],[[4137,4138],2],[4139,2],[[4140,4146],2],[[4147,4149],2],[[4150,4153],2],[[4154,4159],2],[[4160,4169],2],[[4170,4175],2],[[4176,4185],2],[[4186,4249],2],[[4250,4253],2],[[4254,4255],2],[[4256,4293],3],[4294,3],[4295,1,"ⴧ"],[[4296,4300],3],[4301,1,"ⴭ"],[[4302,4303],3],[[4304,4342],2],[[4343,4344],2],[[4345,4346],2],[4347,2],[4348,1,"ნ"],[[4349,4351],2],[[4352,4441],2],[[4442,4446],2],[[4447,4448],3],[[4449,4514],2],[[4515,4519],2],[[4520,4601],2],[[4602,4607],2],[[4608,4614],2],[4615,2],[[4616,4678],2],[4679,2],[4680,2],[4681,3],[[4682,4685],2],[[4686,4687],3],[[4688,4694],2],[4695,3],[4696,2],[4697,3],[[4698,4701],2],[[4702,4703],3],[[4704,4742],2],[4743,2],[4744,2],[4745,3],[[4746,4749],2],[[4750,4751],3],[[4752,4782],2],[4783,2],[4784,2],[4785,3],[[4786,4789],2],[[4790,4791],3],[[4792,4798],2],[4799,3],[4800,2],[4801,3],[[4802,4805],2],[[4806,4807],3],[[4808,4814],2],[4815,2],[[4816,4822],2],[4823,3],[[4824,4846],2],[4847,2],[[4848,4878],2],[4879,2],[4880,2],[4881,3],[[4882,4885],2],[[4886,4887],3],[[4888,4894],2],[4895,2],[[4896,4934],2],[4935,2],[[4936,4954],2],[[4955,4956],3],[[4957,4958],2],[4959,2],[4960,2],[[4961,4988],2],[[4989,4991],3],[[4992,5007],2],[[5008,5017],2],[[5018,5023],3],[[5024,5108],2],[5109,2],[[5110,5111],3],[5112,1,"Ᏸ"],[5113,1,"Ᏹ"],[5114,1,"Ᏺ"],[5115,1,"Ᏻ"],[5116,1,"Ᏼ"],[5117,1,"Ᏽ"],[[5118,5119],3],[5120,2],[[5121,5740],2],[[5741,5742],2],[[5743,5750],2],[[5751,5759],2],[5760,3],[[5761,5786],2],[[5787,5788],2],[[5789,5791],3],[[5792,5866],2],[[5867,5872],2],[[5873,5880],2],[[5881,5887],3],[[5888,5900],2],[5901,3],[[5902,5908],2],[[5909,5919],3],[[5920,5940],2],[[5941,5942],2],[[5943,5951],3],[[5952,5971],2],[[5972,5983],3],[[5984,5996],2],[5997,3],[[5998,6000],2],[6001,3],[[6002,6003],2],[[6004,6015],3],[[6016,6067],2],[[6068,6069],3],[[6070,6099],2],[[6100,6102],2],[6103,2],[[6104,6107],2],[6108,2],[6109,2],[[6110,6111],3],[[6112,6121],2],[[6122,6127],3],[[6128,6137],2],[[6138,6143],3],[[6144,6149],2],[6150,3],[[6151,6154],2],[[6155,6157],7],[6158,3],[6159,3],[[6160,6169],2],[[6170,6175],3],[[6176,6263],2],[6264,2],[[6265,6271],3],[[6272,6313],2],[6314,2],[[6315,6319],3],[[6320,6389],2],[[6390,6399],3],[[6400,6428],2],[[6429,6430],2],[6431,3],[[6432,6443],2],[[6444,6447],3],[[6448,6459],2],[[6460,6463],3],[6464,2],[[6465,6467],3],[[6468,6469],2],[[6470,6509],2],[[6510,6511],3],[[6512,6516],2],[[6517,6527],3],[[6528,6569],2],[[6570,6571],2],[[6572,6575],3],[[6576,6601],2],[[6602,6607],3],[[6608,6617],2],[6618,2],[[6619,6621],3],[[6622,6623],2],[[6624,6655],2],[[6656,6683],2],[[6684,6685],3],[[6686,6687],2],[[6688,6750],2],[6751,3],[[6752,6780],2],[[6781,6782],3],[[6783,6793],2],[[6794,6799],3],[[6800,6809],2],[[6810,6815],3],[[6816,6822],2],[6823,2],[[6824,6829],2],[[6830,6831],3],[[6832,6845],2],[6846,2],[[6847,6848],2],[[6849,6911],3],[[6912,6987],2],[[6988,6991],3],[[6992,7001],2],[[7002,7018],2],[[7019,7027],2],[[7028,7036],2],[[7037,7039],3],[[7040,7082],2],[[7083,7085],2],[[7086,7097],2],[[7098,7103],2],[[7104,7155],2],[[7156,7163],3],[[7164,7167],2],[[7168,7223],2],[[7224,7226],3],[[7227,7231],2],[[7232,7241],2],[[7242,7244],3],[[7245,7293],2],[[7294,7295],2],[7296,1,"в"],[7297,1,"д"],[7298,1,"о"],[7299,1,"с"],[[7300,7301],1,"т"],[7302,1,"ъ"],[7303,1,"ѣ"],[7304,1,"ꙋ"],[[7305,7311],3],[7312,1,"ა"],[7313,1,"ბ"],[7314,1,"გ"],[7315,1,"დ"],[7316,1,"ე"],[7317,1,"ვ"],[7318,1,"ზ"],[7319,1,"თ"],[7320,1,"ი"],[7321,1,"კ"],[7322,1,"ლ"],[7323,1,"მ"],[7324,1,"ნ"],[7325,1,"ო"],[7326,1,"პ"],[7327,1,"ჟ"],[7328,1,"რ"],[7329,1,"ს"],[7330,1,"ტ"],[7331,1,"უ"],[7332,1,"ფ"],[7333,1,"ქ"],[7334,1,"ღ"],[7335,1,"ყ"],[7336,1,"შ"],[7337,1,"ჩ"],[7338,1,"ც"],[7339,1,"ძ"],[7340,1,"წ"],[7341,1,"ჭ"],[7342,1,"ხ"],[7343,1,"ჯ"],[7344,1,"ჰ"],[7345,1,"ჱ"],[7346,1,"ჲ"],[7347,1,"ჳ"],[7348,1,"ჴ"],[7349,1,"ჵ"],[7350,1,"ჶ"],[7351,1,"ჷ"],[7352,1,"ჸ"],[7353,1,"ჹ"],[7354,1,"ჺ"],[[7355,7356],3],[7357,1,"ჽ"],[7358,1,"ჾ"],[7359,1,"ჿ"],[[7360,7367],2],[[7368,7375],3],[[7376,7378],2],[7379,2],[[7380,7410],2],[[7411,7414],2],[7415,2],[[7416,7417],2],[7418,2],[[7419,7423],3],[[7424,7467],2],[7468,1,"a"],[7469,1,"æ"],[7470,1,"b"],[7471,2],[7472,1,"d"],[7473,1,"e"],[7474,1,"ǝ"],[7475,1,"g"],[7476,1,"h"],[7477,1,"i"],[7478,1,"j"],[7479,1,"k"],[7480,1,"l"],[7481,1,"m"],[7482,1,"n"],[7483,2],[7484,1,"o"],[7485,1,"ȣ"],[7486,1,"p"],[7487,1,"r"],[7488,1,"t"],[7489,1,"u"],[7490,1,"w"],[7491,1,"a"],[7492,1,"ɐ"],[7493,1,"ɑ"],[7494,1,"ᴂ"],[7495,1,"b"],[7496,1,"d"],[7497,1,"e"],[7498,1,"ə"],[7499,1,"ɛ"],[7500,1,"ɜ"],[7501,1,"g"],[7502,2],[7503,1,"k"],[7504,1,"m"],[7505,1,"ŋ"],[7506,1,"o"],[7507,1,"ɔ"],[7508,1,"ᴖ"],[7509,1,"ᴗ"],[7510,1,"p"],[7511,1,"t"],[7512,1,"u"],[7513,1,"ᴝ"],[7514,1,"ɯ"],[7515,1,"v"],[7516,1,"ᴥ"],[7517,1,"β"],[7518,1,"γ"],[7519,1,"δ"],[7520,1,"φ"],[7521,1,"χ"],[7522,1,"i"],[7523,1,"r"],[7524,1,"u"],[7525,1,"v"],[7526,1,"β"],[7527,1,"γ"],[7528,1,"ρ"],[7529,1,"φ"],[7530,1,"χ"],[7531,2],[[7532,7543],2],[7544,1,"н"],[[7545,7578],2],[7579,1,"ɒ"],[7580,1,"c"],[7581,1,"ɕ"],[7582,1,"ð"],[7583,1,"ɜ"],[7584,1,"f"],[7585,1,"ɟ"],[7586,1,"ɡ"],[7587,1,"ɥ"],[7588,1,"ɨ"],[7589,1,"ɩ"],[7590,1,"ɪ"],[7591,1,"ᵻ"],[7592,1,"ʝ"],[7593,1,"ɭ"],[7594,1,"ᶅ"],[7595,1,"ʟ"],[7596,1,"ɱ"],[7597,1,"ɰ"],[7598,1,"ɲ"],[7599,1,"ɳ"],[7600,1,"ɴ"],[7601,1,"ɵ"],[7602,1,"ɸ"],[7603,1,"ʂ"],[7604,1,"ʃ"],[7605,1,"ƫ"],[7606,1,"ʉ"],[7607,1,"ʊ"],[7608,1,"ᴜ"],[7609,1,"ʋ"],[7610,1,"ʌ"],[7611,1,"z"],[7612,1,"ʐ"],[7613,1,"ʑ"],[7614,1,"ʒ"],[7615,1,"θ"],[[7616,7619],2],[[7620,7626],2],[[7627,7654],2],[[7655,7669],2],[[7670,7673],2],[7674,3],[7675,2],[7676,2],[7677,2],[[7678,7679],2],[7680,1,"ḁ"],[7681,2],[7682,1,"ḃ"],[7683,2],[7684,1,"ḅ"],[7685,2],[7686,1,"ḇ"],[7687,2],[7688,1,"ḉ"],[7689,2],[7690,1,"ḋ"],[7691,2],[7692,1,"ḍ"],[7693,2],[7694,1,"ḏ"],[7695,2],[7696,1,"ḑ"],[7697,2],[7698,1,"ḓ"],[7699,2],[7700,1,"ḕ"],[7701,2],[7702,1,"ḗ"],[7703,2],[7704,1,"ḙ"],[7705,2],[7706,1,"ḛ"],[7707,2],[7708,1,"ḝ"],[7709,2],[7710,1,"ḟ"],[7711,2],[7712,1,"ḡ"],[7713,2],[7714,1,"ḣ"],[7715,2],[7716,1,"ḥ"],[7717,2],[7718,1,"ḧ"],[7719,2],[7720,1,"ḩ"],[7721,2],[7722,1,"ḫ"],[7723,2],[7724,1,"ḭ"],[7725,2],[7726,1,"ḯ"],[7727,2],[7728,1,"ḱ"],[7729,2],[7730,1,"ḳ"],[7731,2],[7732,1,"ḵ"],[7733,2],[7734,1,"ḷ"],[7735,2],[7736,1,"ḹ"],[7737,2],[7738,1,"ḻ"],[7739,2],[7740,1,"ḽ"],[7741,2],[7742,1,"ḿ"],[7743,2],[7744,1,"ṁ"],[7745,2],[7746,1,"ṃ"],[7747,2],[7748,1,"ṅ"],[7749,2],[7750,1,"ṇ"],[7751,2],[7752,1,"ṉ"],[7753,2],[7754,1,"ṋ"],[7755,2],[7756,1,"ṍ"],[7757,2],[7758,1,"ṏ"],[7759,2],[7760,1,"ṑ"],[7761,2],[7762,1,"ṓ"],[7763,2],[7764,1,"ṕ"],[7765,2],[7766,1,"ṗ"],[7767,2],[7768,1,"ṙ"],[7769,2],[7770,1,"ṛ"],[7771,2],[7772,1,"ṝ"],[7773,2],[7774,1,"ṟ"],[7775,2],[7776,1,"ṡ"],[7777,2],[7778,1,"ṣ"],[7779,2],[7780,1,"ṥ"],[7781,2],[7782,1,"ṧ"],[7783,2],[7784,1,"ṩ"],[7785,2],[7786,1,"ṫ"],[7787,2],[7788,1,"ṭ"],[7789,2],[7790,1,"ṯ"],[7791,2],[7792,1,"ṱ"],[7793,2],[7794,1,"ṳ"],[7795,2],[7796,1,"ṵ"],[7797,2],[7798,1,"ṷ"],[7799,2],[7800,1,"ṹ"],[7801,2],[7802,1,"ṻ"],[7803,2],[7804,1,"ṽ"],[7805,2],[7806,1,"ṿ"],[7807,2],[7808,1,"ẁ"],[7809,2],[7810,1,"ẃ"],[7811,2],[7812,1,"ẅ"],[7813,2],[7814,1,"ẇ"],[7815,2],[7816,1,"ẉ"],[7817,2],[7818,1,"ẋ"],[7819,2],[7820,1,"ẍ"],[7821,2],[7822,1,"ẏ"],[7823,2],[7824,1,"ẑ"],[7825,2],[7826,1,"ẓ"],[7827,2],[7828,1,"ẕ"],[[7829,7833],2],[7834,1,"aʾ"],[7835,1,"ṡ"],[[7836,7837],2],[7838,1,"ss"],[7839,2],[7840,1,"ạ"],[7841,2],[7842,1,"ả"],[7843,2],[7844,1,"ấ"],[7845,2],[7846,1,"ầ"],[7847,2],[7848,1,"ẩ"],[7849,2],[7850,1,"ẫ"],[7851,2],[7852,1,"ậ"],[7853,2],[7854,1,"ắ"],[7855,2],[7856,1,"ằ"],[7857,2],[7858,1,"ẳ"],[7859,2],[7860,1,"ẵ"],[7861,2],[7862,1,"ặ"],[7863,2],[7864,1,"ẹ"],[7865,2],[7866,1,"ẻ"],[7867,2],[7868,1,"ẽ"],[7869,2],[7870,1,"ế"],[7871,2],[7872,1,"ề"],[7873,2],[7874,1,"ể"],[7875,2],[7876,1,"ễ"],[7877,2],[7878,1,"ệ"],[7879,2],[7880,1,"ỉ"],[7881,2],[7882,1,"ị"],[7883,2],[7884,1,"ọ"],[7885,2],[7886,1,"ỏ"],[7887,2],[7888,1,"ố"],[7889,2],[7890,1,"ồ"],[7891,2],[7892,1,"ổ"],[7893,2],[7894,1,"ỗ"],[7895,2],[7896,1,"ộ"],[7897,2],[7898,1,"ớ"],[7899,2],[7900,1,"ờ"],[7901,2],[7902,1,"ở"],[7903,2],[7904,1,"ỡ"],[7905,2],[7906,1,"ợ"],[7907,2],[7908,1,"ụ"],[7909,2],[7910,1,"ủ"],[7911,2],[7912,1,"ứ"],[7913,2],[7914,1,"ừ"],[7915,2],[7916,1,"ử"],[7917,2],[7918,1,"ữ"],[7919,2],[7920,1,"ự"],[7921,2],[7922,1,"ỳ"],[7923,2],[7924,1,"ỵ"],[7925,2],[7926,1,"ỷ"],[7927,2],[7928,1,"ỹ"],[7929,2],[7930,1,"ỻ"],[7931,2],[7932,1,"ỽ"],[7933,2],[7934,1,"ỿ"],[7935,2],[[7936,7943],2],[7944,1,"ἀ"],[7945,1,"ἁ"],[7946,1,"ἂ"],[7947,1,"ἃ"],[7948,1,"ἄ"],[7949,1,"ἅ"],[7950,1,"ἆ"],[7951,1,"ἇ"],[[7952,7957],2],[[7958,7959],3],[7960,1,"ἐ"],[7961,1,"ἑ"],[7962,1,"ἒ"],[7963,1,"ἓ"],[7964,1,"ἔ"],[7965,1,"ἕ"],[[7966,7967],3],[[7968,7975],2],[7976,1,"ἠ"],[7977,1,"ἡ"],[7978,1,"ἢ"],[7979,1,"ἣ"],[7980,1,"ἤ"],[7981,1,"ἥ"],[7982,1,"ἦ"],[7983,1,"ἧ"],[[7984,7991],2],[7992,1,"ἰ"],[7993,1,"ἱ"],[7994,1,"ἲ"],[7995,1,"ἳ"],[7996,1,"ἴ"],[7997,1,"ἵ"],[7998,1,"ἶ"],[7999,1,"ἷ"],[[8000,8005],2],[[8006,8007],3],[8008,1,"ὀ"],[8009,1,"ὁ"],[8010,1,"ὂ"],[8011,1,"ὃ"],[8012,1,"ὄ"],[8013,1,"ὅ"],[[8014,8015],3],[[8016,8023],2],[8024,3],[8025,1,"ὑ"],[8026,3],[8027,1,"ὓ"],[8028,3],[8029,1,"ὕ"],[8030,3],[8031,1,"ὗ"],[[8032,8039],2],[8040,1,"ὠ"],[8041,1,"ὡ"],[8042,1,"ὢ"],[8043,1,"ὣ"],[8044,1,"ὤ"],[8045,1,"ὥ"],[8046,1,"ὦ"],[8047,1,"ὧ"],[8048,2],[8049,1,"ά"],[8050,2],[8051,1,"έ"],[8052,2],[8053,1,"ή"],[8054,2],[8055,1,"ί"],[8056,2],[8057,1,"ό"],[8058,2],[8059,1,"ύ"],[8060,2],[8061,1,"ώ"],[[8062,8063],3],[8064,1,"ἀι"],[8065,1,"ἁι"],[8066,1,"ἂι"],[8067,1,"ἃι"],[8068,1,"ἄι"],[8069,1,"ἅι"],[8070,1,"ἆι"],[8071,1,"ἇι"],[8072,1,"ἀι"],[8073,1,"ἁι"],[8074,1,"ἂι"],[8075,1,"ἃι"],[8076,1,"ἄι"],[8077,1,"ἅι"],[8078,1,"ἆι"],[8079,1,"ἇι"],[8080,1,"ἠι"],[8081,1,"ἡι"],[8082,1,"ἢι"],[8083,1,"ἣι"],[8084,1,"ἤι"],[8085,1,"ἥι"],[8086,1,"ἦι"],[8087,1,"ἧι"],[8088,1,"ἠι"],[8089,1,"ἡι"],[8090,1,"ἢι"],[8091,1,"ἣι"],[8092,1,"ἤι"],[8093,1,"ἥι"],[8094,1,"ἦι"],[8095,1,"ἧι"],[8096,1,"ὠι"],[8097,1,"ὡι"],[8098,1,"ὢι"],[8099,1,"ὣι"],[8100,1,"ὤι"],[8101,1,"ὥι"],[8102,1,"ὦι"],[8103,1,"ὧι"],[8104,1,"ὠι"],[8105,1,"ὡι"],[8106,1,"ὢι"],[8107,1,"ὣι"],[8108,1,"ὤι"],[8109,1,"ὥι"],[8110,1,"ὦι"],[8111,1,"ὧι"],[[8112,8113],2],[8114,1,"ὰι"],[8115,1,"αι"],[8116,1,"άι"],[8117,3],[8118,2],[8119,1,"ᾶι"],[8120,1,"ᾰ"],[8121,1,"ᾱ"],[8122,1,"ὰ"],[8123,1,"ά"],[8124,1,"αι"],[8125,5," ̓"],[8126,1,"ι"],[8127,5," ̓"],[8128,5," ͂"],[8129,5," ̈͂"],[8130,1,"ὴι"],[8131,1,"ηι"],[8132,1,"ήι"],[8133,3],[8134,2],[8135,1,"ῆι"],[8136,1,"ὲ"],[8137,1,"έ"],[8138,1,"ὴ"],[8139,1,"ή"],[8140,1,"ηι"],[8141,5," ̓̀"],[8142,5," ̓́"],[8143,5," ̓͂"],[[8144,8146],2],[8147,1,"ΐ"],[[8148,8149],3],[[8150,8151],2],[8152,1,"ῐ"],[8153,1,"ῑ"],[8154,1,"ὶ"],[8155,1,"ί"],[8156,3],[8157,5," ̔̀"],[8158,5," ̔́"],[8159,5," ̔͂"],[[8160,8162],2],[8163,1,"ΰ"],[[8164,8167],2],[8168,1,"ῠ"],[8169,1,"ῡ"],[8170,1,"ὺ"],[8171,1,"ύ"],[8172,1,"ῥ"],[8173,5," ̈̀"],[8174,5," ̈́"],[8175,5,"`"],[[8176,8177],3],[8178,1,"ὼι"],[8179,1,"ωι"],[8180,1,"ώι"],[8181,3],[8182,2],[8183,1,"ῶι"],[8184,1,"ὸ"],[8185,1,"ό"],[8186,1,"ὼ"],[8187,1,"ώ"],[8188,1,"ωι"],[8189,5," ́"],[8190,5," ̔"],[8191,3],[[8192,8202],5," "],[8203,7],[[8204,8205],6,""],[[8206,8207],3],[8208,2],[8209,1,"‐"],[[8210,8214],2],[8215,5," ̳"],[[8216,8227],2],[[8228,8230],3],[8231,2],[[8232,8238],3],[8239,5," "],[[8240,8242],2],[8243,1,"′′"],[8244,1,"′′′"],[8245,2],[8246,1,"‵‵"],[8247,1,"‵‵‵"],[[8248,8251],2],[8252,5,"!!"],[8253,2],[8254,5," ̅"],[[8255,8262],2],[8263,5,"??"],[8264,5,"?!"],[8265,5,"!?"],[[8266,8269],2],[[8270,8274],2],[[8275,8276],2],[[8277,8278],2],[8279,1,"′′′′"],[[8280,8286],2],[8287,5," "],[8288,7],[[8289,8291],3],[8292,7],[8293,3],[[8294,8297],3],[[8298,8303],3],[8304,1,"0"],[8305,1,"i"],[[8306,8307],3],[8308,1,"4"],[8309,1,"5"],[8310,1,"6"],[8311,1,"7"],[8312,1,"8"],[8313,1,"9"],[8314,5,"+"],[8315,1,"−"],[8316,5,"="],[8317,5,"("],[8318,5,")"],[8319,1,"n"],[8320,1,"0"],[8321,1,"1"],[8322,1,"2"],[8323,1,"3"],[8324,1,"4"],[8325,1,"5"],[8326,1,"6"],[8327,1,"7"],[8328,1,"8"],[8329,1,"9"],[8330,5,"+"],[8331,1,"−"],[8332,5,"="],[8333,5,"("],[8334,5,")"],[8335,3],[8336,1,"a"],[8337,1,"e"],[8338,1,"o"],[8339,1,"x"],[8340,1,"ə"],[8341,1,"h"],[8342,1,"k"],[8343,1,"l"],[8344,1,"m"],[8345,1,"n"],[8346,1,"p"],[8347,1,"s"],[8348,1,"t"],[[8349,8351],3],[[8352,8359],2],[8360,1,"rs"],[[8361,8362],2],[8363,2],[8364,2],[[8365,8367],2],[[8368,8369],2],[[8370,8373],2],[[8374,8376],2],[8377,2],[8378,2],[[8379,8381],2],[8382,2],[8383,2],[[8384,8399],3],[[8400,8417],2],[[8418,8419],2],[[8420,8426],2],[8427,2],[[8428,8431],2],[8432,2],[[8433,8447],3],[8448,5,"a/c"],[8449,5,"a/s"],[8450,1,"c"],[8451,1,"°c"],[8452,2],[8453,5,"c/o"],[8454,5,"c/u"],[8455,1,"ɛ"],[8456,2],[8457,1,"°f"],[8458,1,"g"],[[8459,8462],1,"h"],[8463,1,"ħ"],[[8464,8465],1,"i"],[[8466,8467],1,"l"],[8468,2],[8469,1,"n"],[8470,1,"no"],[[8471,8472],2],[8473,1,"p"],[8474,1,"q"],[[8475,8477],1,"r"],[[8478,8479],2],[8480,1,"sm"],[8481,1,"tel"],[8482,1,"tm"],[8483,2],[8484,1,"z"],[8485,2],[8486,1,"ω"],[8487,2],[8488,1,"z"],[8489,2],[8490,1,"k"],[8491,1,"å"],[8492,1,"b"],[8493,1,"c"],[8494,2],[[8495,8496],1,"e"],[8497,1,"f"],[8498,3],[8499,1,"m"],[8500,1,"o"],[8501,1,"א"],[8502,1,"ב"],[8503,1,"ג"],[8504,1,"ד"],[8505,1,"i"],[8506,2],[8507,1,"fax"],[8508,1,"π"],[[8509,8510],1,"γ"],[8511,1,"π"],[8512,1,"∑"],[[8513,8516],2],[[8517,8518],1,"d"],[8519,1,"e"],[8520,1,"i"],[8521,1,"j"],[[8522,8523],2],[8524,2],[8525,2],[8526,2],[8527,2],[8528,1,"1⁄7"],[8529,1,"1⁄9"],[8530,1,"1⁄10"],[8531,1,"1⁄3"],[8532,1,"2⁄3"],[8533,1,"1⁄5"],[8534,1,"2⁄5"],[8535,1,"3⁄5"],[8536,1,"4⁄5"],[8537,1,"1⁄6"],[8538,1,"5⁄6"],[8539,1,"1⁄8"],[8540,1,"3⁄8"],[8541,1,"5⁄8"],[8542,1,"7⁄8"],[8543,1,"1⁄"],[8544,1,"i"],[8545,1,"ii"],[8546,1,"iii"],[8547,1,"iv"],[8548,1,"v"],[8549,1,"vi"],[8550,1,"vii"],[8551,1,"viii"],[8552,1,"ix"],[8553,1,"x"],[8554,1,"xi"],[8555,1,"xii"],[8556,1,"l"],[8557,1,"c"],[8558,1,"d"],[8559,1,"m"],[8560,1,"i"],[8561,1,"ii"],[8562,1,"iii"],[8563,1,"iv"],[8564,1,"v"],[8565,1,"vi"],[8566,1,"vii"],[8567,1,"viii"],[8568,1,"ix"],[8569,1,"x"],[8570,1,"xi"],[8571,1,"xii"],[8572,1,"l"],[8573,1,"c"],[8574,1,"d"],[8575,1,"m"],[[8576,8578],2],[8579,3],[8580,2],[[8581,8584],2],[8585,1,"0⁄3"],[[8586,8587],2],[[8588,8591],3],[[8592,8682],2],[[8683,8691],2],[[8692,8703],2],[[8704,8747],2],[8748,1,"∫∫"],[8749,1,"∫∫∫"],[8750,2],[8751,1,"∮∮"],[8752,1,"∮∮∮"],[[8753,8799],2],[8800,4],[[8801,8813],2],[[8814,8815],4],[[8816,8945],2],[[8946,8959],2],[8960,2],[8961,2],[[8962,9000],2],[9001,1,"〈"],[9002,1,"〉"],[[9003,9082],2],[9083,2],[9084,2],[[9085,9114],2],[[9115,9166],2],[[9167,9168],2],[[9169,9179],2],[[9180,9191],2],[9192,2],[[9193,9203],2],[[9204,9210],2],[[9211,9214],2],[9215,2],[[9216,9252],2],[[9253,9254],2],[[9255,9279],3],[[9280,9290],2],[[9291,9311],3],[9312,1,"1"],[9313,1,"2"],[9314,1,"3"],[9315,1,"4"],[9316,1,"5"],[9317,1,"6"],[9318,1,"7"],[9319,1,"8"],[9320,1,"9"],[9321,1,"10"],[9322,1,"11"],[9323,1,"12"],[9324,1,"13"],[9325,1,"14"],[9326,1,"15"],[9327,1,"16"],[9328,1,"17"],[9329,1,"18"],[9330,1,"19"],[9331,1,"20"],[9332,5,"(1)"],[9333,5,"(2)"],[9334,5,"(3)"],[9335,5,"(4)"],[9336,5,"(5)"],[9337,5,"(6)"],[9338,5,"(7)"],[9339,5,"(8)"],[9340,5,"(9)"],[9341,5,"(10)"],[9342,5,"(11)"],[9343,5,"(12)"],[9344,5,"(13)"],[9345,5,"(14)"],[9346,5,"(15)"],[9347,5,"(16)"],[9348,5,"(17)"],[9349,5,"(18)"],[9350,5,"(19)"],[9351,5,"(20)"],[[9352,9371],3],[9372,5,"(a)"],[9373,5,"(b)"],[9374,5,"(c)"],[9375,5,"(d)"],[9376,5,"(e)"],[9377,5,"(f)"],[9378,5,"(g)"],[9379,5,"(h)"],[9380,5,"(i)"],[9381,5,"(j)"],[9382,5,"(k)"],[9383,5,"(l)"],[9384,5,"(m)"],[9385,5,"(n)"],[9386,5,"(o)"],[9387,5,"(p)"],[9388,5,"(q)"],[9389,5,"(r)"],[9390,5,"(s)"],[9391,5,"(t)"],[9392,5,"(u)"],[9393,5,"(v)"],[9394,5,"(w)"],[9395,5,"(x)"],[9396,5,"(y)"],[9397,5,"(z)"],[9398,1,"a"],[9399,1,"b"],[9400,1,"c"],[9401,1,"d"],[9402,1,"e"],[9403,1,"f"],[9404,1,"g"],[9405,1,"h"],[9406,1,"i"],[9407,1,"j"],[9408,1,"k"],[9409,1,"l"],[9410,1,"m"],[9411,1,"n"],[9412,1,"o"],[9413,1,"p"],[9414,1,"q"],[9415,1,"r"],[9416,1,"s"],[9417,1,"t"],[9418,1,"u"],[9419,1,"v"],[9420,1,"w"],[9421,1,"x"],[9422,1,"y"],[9423,1,"z"],[9424,1,"a"],[9425,1,"b"],[9426,1,"c"],[9427,1,"d"],[9428,1,"e"],[9429,1,"f"],[9430,1,"g"],[9431,1,"h"],[9432,1,"i"],[9433,1,"j"],[9434,1,"k"],[9435,1,"l"],[9436,1,"m"],[9437,1,"n"],[9438,1,"o"],[9439,1,"p"],[9440,1,"q"],[9441,1,"r"],[9442,1,"s"],[9443,1,"t"],[9444,1,"u"],[9445,1,"v"],[9446,1,"w"],[9447,1,"x"],[9448,1,"y"],[9449,1,"z"],[9450,1,"0"],[[9451,9470],2],[9471,2],[[9472,9621],2],[[9622,9631],2],[[9632,9711],2],[[9712,9719],2],[[9720,9727],2],[[9728,9747],2],[[9748,9749],2],[[9750,9751],2],[9752,2],[9753,2],[[9754,9839],2],[[9840,9841],2],[[9842,9853],2],[[9854,9855],2],[[9856,9865],2],[[9866,9873],2],[[9874,9884],2],[9885,2],[[9886,9887],2],[[9888,9889],2],[[9890,9905],2],[9906,2],[[9907,9916],2],[[9917,9919],2],[[9920,9923],2],[[9924,9933],2],[9934,2],[[9935,9953],2],[9954,2],[9955,2],[[9956,9959],2],[[9960,9983],2],[9984,2],[[9985,9988],2],[9989,2],[[9990,9993],2],[[9994,9995],2],[[9996,10023],2],[10024,2],[[10025,10059],2],[10060,2],[10061,2],[10062,2],[[10063,10066],2],[[10067,10069],2],[10070,2],[10071,2],[[10072,10078],2],[[10079,10080],2],[[10081,10087],2],[[10088,10101],2],[[10102,10132],2],[[10133,10135],2],[[10136,10159],2],[10160,2],[[10161,10174],2],[10175,2],[[10176,10182],2],[[10183,10186],2],[10187,2],[10188,2],[10189,2],[[10190,10191],2],[[10192,10219],2],[[10220,10223],2],[[10224,10239],2],[[10240,10495],2],[[10496,10763],2],[10764,1,"∫∫∫∫"],[[10765,10867],2],[10868,5,"::="],[10869,5,"=="],[10870,5,"==="],[[10871,10971],2],[10972,1,"⫝̸"],[[10973,11007],2],[[11008,11021],2],[[11022,11027],2],[[11028,11034],2],[[11035,11039],2],[[11040,11043],2],[[11044,11084],2],[[11085,11087],2],[[11088,11092],2],[[11093,11097],2],[[11098,11123],2],[[11124,11125],3],[[11126,11157],2],[11158,3],[11159,2],[[11160,11193],2],[[11194,11196],2],[[11197,11208],2],[11209,2],[[11210,11217],2],[11218,2],[[11219,11243],2],[[11244,11247],2],[[11248,11262],2],[11263,2],[11264,1,"ⰰ"],[11265,1,"ⰱ"],[11266,1,"ⰲ"],[11267,1,"ⰳ"],[11268,1,"ⰴ"],[11269,1,"ⰵ"],[11270,1,"ⰶ"],[11271,1,"ⰷ"],[11272,1,"ⰸ"],[11273,1,"ⰹ"],[11274,1,"ⰺ"],[11275,1,"ⰻ"],[11276,1,"ⰼ"],[11277,1,"ⰽ"],[11278,1,"ⰾ"],[11279,1,"ⰿ"],[11280,1,"ⱀ"],[11281,1,"ⱁ"],[11282,1,"ⱂ"],[11283,1,"ⱃ"],[11284,1,"ⱄ"],[11285,1,"ⱅ"],[11286,1,"ⱆ"],[11287,1,"ⱇ"],[11288,1,"ⱈ"],[11289,1,"ⱉ"],[11290,1,"ⱊ"],[11291,1,"ⱋ"],[11292,1,"ⱌ"],[11293,1,"ⱍ"],[11294,1,"ⱎ"],[11295,1,"ⱏ"],[11296,1,"ⱐ"],[11297,1,"ⱑ"],[11298,1,"ⱒ"],[11299,1,"ⱓ"],[11300,1,"ⱔ"],[11301,1,"ⱕ"],[11302,1,"ⱖ"],[11303,1,"ⱗ"],[11304,1,"ⱘ"],[11305,1,"ⱙ"],[11306,1,"ⱚ"],[11307,1,"ⱛ"],[11308,1,"ⱜ"],[11309,1,"ⱝ"],[11310,1,"ⱞ"],[11311,3],[[11312,11358],2],[11359,3],[11360,1,"ⱡ"],[11361,2],[11362,1,"ɫ"],[11363,1,"ᵽ"],[11364,1,"ɽ"],[[11365,11366],2],[11367,1,"ⱨ"],[11368,2],[11369,1,"ⱪ"],[11370,2],[11371,1,"ⱬ"],[11372,2],[11373,1,"ɑ"],[11374,1,"ɱ"],[11375,1,"ɐ"],[11376,1,"ɒ"],[11377,2],[11378,1,"ⱳ"],[11379,2],[11380,2],[11381,1,"ⱶ"],[[11382,11383],2],[[11384,11387],2],[11388,1,"j"],[11389,1,"v"],[11390,1,"ȿ"],[11391,1,"ɀ"],[11392,1,"ⲁ"],[11393,2],[11394,1,"ⲃ"],[11395,2],[11396,1,"ⲅ"],[11397,2],[11398,1,"ⲇ"],[11399,2],[11400,1,"ⲉ"],[11401,2],[11402,1,"ⲋ"],[11403,2],[11404,1,"ⲍ"],[11405,2],[11406,1,"ⲏ"],[11407,2],[11408,1,"ⲑ"],[11409,2],[11410,1,"ⲓ"],[11411,2],[11412,1,"ⲕ"],[11413,2],[11414,1,"ⲗ"],[11415,2],[11416,1,"ⲙ"],[11417,2],[11418,1,"ⲛ"],[11419,2],[11420,1,"ⲝ"],[11421,2],[11422,1,"ⲟ"],[11423,2],[11424,1,"ⲡ"],[11425,2],[11426,1,"ⲣ"],[11427,2],[11428,1,"ⲥ"],[11429,2],[11430,1,"ⲧ"],[11431,2],[11432,1,"ⲩ"],[11433,2],[11434,1,"ⲫ"],[11435,2],[11436,1,"ⲭ"],[11437,2],[11438,1,"ⲯ"],[11439,2],[11440,1,"ⲱ"],[11441,2],[11442,1,"ⲳ"],[11443,2],[11444,1,"ⲵ"],[11445,2],[11446,1,"ⲷ"],[11447,2],[11448,1,"ⲹ"],[11449,2],[11450,1,"ⲻ"],[11451,2],[11452,1,"ⲽ"],[11453,2],[11454,1,"ⲿ"],[11455,2],[11456,1,"ⳁ"],[11457,2],[11458,1,"ⳃ"],[11459,2],[11460,1,"ⳅ"],[11461,2],[11462,1,"ⳇ"],[11463,2],[11464,1,"ⳉ"],[11465,2],[11466,1,"ⳋ"],[11467,2],[11468,1,"ⳍ"],[11469,2],[11470,1,"ⳏ"],[11471,2],[11472,1,"ⳑ"],[11473,2],[11474,1,"ⳓ"],[11475,2],[11476,1,"ⳕ"],[11477,2],[11478,1,"ⳗ"],[11479,2],[11480,1,"ⳙ"],[11481,2],[11482,1,"ⳛ"],[11483,2],[11484,1,"ⳝ"],[11485,2],[11486,1,"ⳟ"],[11487,2],[11488,1,"ⳡ"],[11489,2],[11490,1,"ⳣ"],[[11491,11492],2],[[11493,11498],2],[11499,1,"ⳬ"],[11500,2],[11501,1,"ⳮ"],[[11502,11505],2],[11506,1,"ⳳ"],[11507,2],[[11508,11512],3],[[11513,11519],2],[[11520,11557],2],[11558,3],[11559,2],[[11560,11564],3],[11565,2],[[11566,11567],3],[[11568,11621],2],[[11622,11623],2],[[11624,11630],3],[11631,1,"ⵡ"],[11632,2],[[11633,11646],3],[11647,2],[[11648,11670],2],[[11671,11679],3],[[11680,11686],2],[11687,3],[[11688,11694],2],[11695,3],[[11696,11702],2],[11703,3],[[11704,11710],2],[11711,3],[[11712,11718],2],[11719,3],[[11720,11726],2],[11727,3],[[11728,11734],2],[11735,3],[[11736,11742],2],[11743,3],[[11744,11775],2],[[11776,11799],2],[[11800,11803],2],[[11804,11805],2],[[11806,11822],2],[11823,2],[11824,2],[11825,2],[[11826,11835],2],[[11836,11842],2],[[11843,11844],2],[[11845,11849],2],[[11850,11854],2],[11855,2],[[11856,11858],2],[[11859,11903],3],[[11904,11929],2],[11930,3],[[11931,11934],2],[11935,1,"母"],[[11936,12018],2],[12019,1,"龟"],[[12020,12031],3],[12032,1,"一"],[12033,1,"丨"],[12034,1,"丶"],[12035,1,"丿"],[12036,1,"乙"],[12037,1,"亅"],[12038,1,"二"],[12039,1,"亠"],[12040,1,"人"],[12041,1,"儿"],[12042,1,"入"],[12043,1,"八"],[12044,1,"冂"],[12045,1,"冖"],[12046,1,"冫"],[12047,1,"几"],[12048,1,"凵"],[12049,1,"刀"],[12050,1,"力"],[12051,1,"勹"],[12052,1,"匕"],[12053,1,"匚"],[12054,1,"匸"],[12055,1,"十"],[12056,1,"卜"],[12057,1,"卩"],[12058,1,"厂"],[12059,1,"厶"],[12060,1,"又"],[12061,1,"口"],[12062,1,"囗"],[12063,1,"土"],[12064,1,"士"],[12065,1,"夂"],[12066,1,"夊"],[12067,1,"夕"],[12068,1,"大"],[12069,1,"女"],[12070,1,"子"],[12071,1,"宀"],[12072,1,"寸"],[12073,1,"小"],[12074,1,"尢"],[12075,1,"尸"],[12076,1,"屮"],[12077,1,"山"],[12078,1,"巛"],[12079,1,"工"],[12080,1,"己"],[12081,1,"巾"],[12082,1,"干"],[12083,1,"幺"],[12084,1,"广"],[12085,1,"廴"],[12086,1,"廾"],[12087,1,"弋"],[12088,1,"弓"],[12089,1,"彐"],[12090,1,"彡"],[12091,1,"彳"],[12092,1,"心"],[12093,1,"戈"],[12094,1,"戶"],[12095,1,"手"],[12096,1,"支"],[12097,1,"攴"],[12098,1,"文"],[12099,1,"斗"],[12100,1,"斤"],[12101,1,"方"],[12102,1,"无"],[12103,1,"日"],[12104,1,"曰"],[12105,1,"月"],[12106,1,"木"],[12107,1,"欠"],[12108,1,"止"],[12109,1,"歹"],[12110,1,"殳"],[12111,1,"毋"],[12112,1,"比"],[12113,1,"毛"],[12114,1,"氏"],[12115,1,"气"],[12116,1,"水"],[12117,1,"火"],[12118,1,"爪"],[12119,1,"父"],[12120,1,"爻"],[12121,1,"爿"],[12122,1,"片"],[12123,1,"牙"],[12124,1,"牛"],[12125,1,"犬"],[12126,1,"玄"],[12127,1,"玉"],[12128,1,"瓜"],[12129,1,"瓦"],[12130,1,"甘"],[12131,1,"生"],[12132,1,"用"],[12133,1,"田"],[12134,1,"疋"],[12135,1,"疒"],[12136,1,"癶"],[12137,1,"白"],[12138,1,"皮"],[12139,1,"皿"],[12140,1,"目"],[12141,1,"矛"],[12142,1,"矢"],[12143,1,"石"],[12144,1,"示"],[12145,1,"禸"],[12146,1,"禾"],[12147,1,"穴"],[12148,1,"立"],[12149,1,"竹"],[12150,1,"米"],[12151,1,"糸"],[12152,1,"缶"],[12153,1,"网"],[12154,1,"羊"],[12155,1,"羽"],[12156,1,"老"],[12157,1,"而"],[12158,1,"耒"],[12159,1,"耳"],[12160,1,"聿"],[12161,1,"肉"],[12162,1,"臣"],[12163,1,"自"],[12164,1,"至"],[12165,1,"臼"],[12166,1,"舌"],[12167,1,"舛"],[12168,1,"舟"],[12169,1,"艮"],[12170,1,"色"],[12171,1,"艸"],[12172,1,"虍"],[12173,1,"虫"],[12174,1,"血"],[12175,1,"行"],[12176,1,"衣"],[12177,1,"襾"],[12178,1,"見"],[12179,1,"角"],[12180,1,"言"],[12181,1,"谷"],[12182,1,"豆"],[12183,1,"豕"],[12184,1,"豸"],[12185,1,"貝"],[12186,1,"赤"],[12187,1,"走"],[12188,1,"足"],[12189,1,"身"],[12190,1,"車"],[12191,1,"辛"],[12192,1,"辰"],[12193,1,"辵"],[12194,1,"邑"],[12195,1,"酉"],[12196,1,"釆"],[12197,1,"里"],[12198,1,"金"],[12199,1,"長"],[12200,1,"門"],[12201,1,"阜"],[12202,1,"隶"],[12203,1,"隹"],[12204,1,"雨"],[12205,1,"靑"],[12206,1,"非"],[12207,1,"面"],[12208,1,"革"],[12209,1,"韋"],[12210,1,"韭"],[12211,1,"音"],[12212,1,"頁"],[12213,1,"風"],[12214,1,"飛"],[12215,1,"食"],[12216,1,"首"],[12217,1,"香"],[12218,1,"馬"],[12219,1,"骨"],[12220,1,"高"],[12221,1,"髟"],[12222,1,"鬥"],[12223,1,"鬯"],[12224,1,"鬲"],[12225,1,"鬼"],[12226,1,"魚"],[12227,1,"鳥"],[12228,1,"鹵"],[12229,1,"鹿"],[12230,1,"麥"],[12231,1,"麻"],[12232,1,"黃"],[12233,1,"黍"],[12234,1,"黑"],[12235,1,"黹"],[12236,1,"黽"],[12237,1,"鼎"],[12238,1,"鼓"],[12239,1,"鼠"],[12240,1,"鼻"],[12241,1,"齊"],[12242,1,"齒"],[12243,1,"龍"],[12244,1,"龜"],[12245,1,"龠"],[[12246,12271],3],[[12272,12283],3],[[12284,12287],3],[12288,5," "],[12289,2],[12290,1,"."],[[12291,12292],2],[[12293,12295],2],[[12296,12329],2],[[12330,12333],2],[[12334,12341],2],[12342,1,"〒"],[12343,2],[12344,1,"十"],[12345,1,"卄"],[12346,1,"卅"],[12347,2],[12348,2],[12349,2],[12350,2],[12351,2],[12352,3],[[12353,12436],2],[[12437,12438],2],[[12439,12440],3],[[12441,12442],2],[12443,5," ゙"],[12444,5," ゚"],[[12445,12446],2],[12447,1,"より"],[12448,2],[[12449,12542],2],[12543,1,"コト"],[[12544,12548],3],[[12549,12588],2],[12589,2],[12590,2],[12591,2],[12592,3],[12593,1,"ᄀ"],[12594,1,"ᄁ"],[12595,1,"ᆪ"],[12596,1,"ᄂ"],[12597,1,"ᆬ"],[12598,1,"ᆭ"],[12599,1,"ᄃ"],[12600,1,"ᄄ"],[12601,1,"ᄅ"],[12602,1,"ᆰ"],[12603,1,"ᆱ"],[12604,1,"ᆲ"],[12605,1,"ᆳ"],[12606,1,"ᆴ"],[12607,1,"ᆵ"],[12608,1,"ᄚ"],[12609,1,"ᄆ"],[12610,1,"ᄇ"],[12611,1,"ᄈ"],[12612,1,"ᄡ"],[12613,1,"ᄉ"],[12614,1,"ᄊ"],[12615,1,"ᄋ"],[12616,1,"ᄌ"],[12617,1,"ᄍ"],[12618,1,"ᄎ"],[12619,1,"ᄏ"],[12620,1,"ᄐ"],[12621,1,"ᄑ"],[12622,1,"ᄒ"],[12623,1,"ᅡ"],[12624,1,"ᅢ"],[12625,1,"ᅣ"],[12626,1,"ᅤ"],[12627,1,"ᅥ"],[12628,1,"ᅦ"],[12629,1,"ᅧ"],[12630,1,"ᅨ"],[12631,1,"ᅩ"],[12632,1,"ᅪ"],[12633,1,"ᅫ"],[12634,1,"ᅬ"],[12635,1,"ᅭ"],[12636,1,"ᅮ"],[12637,1,"ᅯ"],[12638,1,"ᅰ"],[12639,1,"ᅱ"],[12640,1,"ᅲ"],[12641,1,"ᅳ"],[12642,1,"ᅴ"],[12643,1,"ᅵ"],[12644,3],[12645,1,"ᄔ"],[12646,1,"ᄕ"],[12647,1,"ᇇ"],[12648,1,"ᇈ"],[12649,1,"ᇌ"],[12650,1,"ᇎ"],[12651,1,"ᇓ"],[12652,1,"ᇗ"],[12653,1,"ᇙ"],[12654,1,"ᄜ"],[12655,1,"ᇝ"],[12656,1,"ᇟ"],[12657,1,"ᄝ"],[12658,1,"ᄞ"],[12659,1,"ᄠ"],[12660,1,"ᄢ"],[12661,1,"ᄣ"],[12662,1,"ᄧ"],[12663,1,"ᄩ"],[12664,1,"ᄫ"],[12665,1,"ᄬ"],[12666,1,"ᄭ"],[12667,1,"ᄮ"],[12668,1,"ᄯ"],[12669,1,"ᄲ"],[12670,1,"ᄶ"],[12671,1,"ᅀ"],[12672,1,"ᅇ"],[12673,1,"ᅌ"],[12674,1,"ᇱ"],[12675,1,"ᇲ"],[12676,1,"ᅗ"],[12677,1,"ᅘ"],[12678,1,"ᅙ"],[12679,1,"ᆄ"],[12680,1,"ᆅ"],[12681,1,"ᆈ"],[12682,1,"ᆑ"],[12683,1,"ᆒ"],[12684,1,"ᆔ"],[12685,1,"ᆞ"],[12686,1,"ᆡ"],[12687,3],[[12688,12689],2],[12690,1,"一"],[12691,1,"二"],[12692,1,"三"],[12693,1,"四"],[12694,1,"上"],[12695,1,"中"],[12696,1,"下"],[12697,1,"甲"],[12698,1,"乙"],[12699,1,"丙"],[12700,1,"丁"],[12701,1,"天"],[12702,1,"地"],[12703,1,"人"],[[12704,12727],2],[[12728,12730],2],[[12731,12735],2],[[12736,12751],2],[[12752,12771],2],[[12772,12783],3],[[12784,12799],2],[12800,5,"(ᄀ)"],[12801,5,"(ᄂ)"],[12802,5,"(ᄃ)"],[12803,5,"(ᄅ)"],[12804,5,"(ᄆ)"],[12805,5,"(ᄇ)"],[12806,5,"(ᄉ)"],[12807,5,"(ᄋ)"],[12808,5,"(ᄌ)"],[12809,5,"(ᄎ)"],[12810,5,"(ᄏ)"],[12811,5,"(ᄐ)"],[12812,5,"(ᄑ)"],[12813,5,"(ᄒ)"],[12814,5,"(가)"],[12815,5,"(나)"],[12816,5,"(다)"],[12817,5,"(라)"],[12818,5,"(마)"],[12819,5,"(바)"],[12820,5,"(사)"],[12821,5,"(아)"],[12822,5,"(자)"],[12823,5,"(차)"],[12824,5,"(카)"],[12825,5,"(타)"],[12826,5,"(파)"],[12827,5,"(하)"],[12828,5,"(주)"],[12829,5,"(오전)"],[12830,5,"(오후)"],[12831,3],[12832,5,"(一)"],[12833,5,"(二)"],[12834,5,"(三)"],[12835,5,"(四)"],[12836,5,"(五)"],[12837,5,"(六)"],[12838,5,"(七)"],[12839,5,"(八)"],[12840,5,"(九)"],[12841,5,"(十)"],[12842,5,"(月)"],[12843,5,"(火)"],[12844,5,"(水)"],[12845,5,"(木)"],[12846,5,"(金)"],[12847,5,"(土)"],[12848,5,"(日)"],[12849,5,"(株)"],[12850,5,"(有)"],[12851,5,"(社)"],[12852,5,"(名)"],[12853,5,"(特)"],[12854,5,"(財)"],[12855,5,"(祝)"],[12856,5,"(労)"],[12857,5,"(代)"],[12858,5,"(呼)"],[12859,5,"(学)"],[12860,5,"(監)"],[12861,5,"(企)"],[12862,5,"(資)"],[12863,5,"(協)"],[12864,5,"(祭)"],[12865,5,"(休)"],[12866,5,"(自)"],[12867,5,"(至)"],[12868,1,"問"],[12869,1,"幼"],[12870,1,"文"],[12871,1,"箏"],[[12872,12879],2],[12880,1,"pte"],[12881,1,"21"],[12882,1,"22"],[12883,1,"23"],[12884,1,"24"],[12885,1,"25"],[12886,1,"26"],[12887,1,"27"],[12888,1,"28"],[12889,1,"29"],[12890,1,"30"],[12891,1,"31"],[12892,1,"32"],[12893,1,"33"],[12894,1,"34"],[12895,1,"35"],[12896,1,"ᄀ"],[12897,1,"ᄂ"],[12898,1,"ᄃ"],[12899,1,"ᄅ"],[12900,1,"ᄆ"],[12901,1,"ᄇ"],[12902,1,"ᄉ"],[12903,1,"ᄋ"],[12904,1,"ᄌ"],[12905,1,"ᄎ"],[12906,1,"ᄏ"],[12907,1,"ᄐ"],[12908,1,"ᄑ"],[12909,1,"ᄒ"],[12910,1,"가"],[12911,1,"나"],[12912,1,"다"],[12913,1,"라"],[12914,1,"마"],[12915,1,"바"],[12916,1,"사"],[12917,1,"아"],[12918,1,"자"],[12919,1,"차"],[12920,1,"카"],[12921,1,"타"],[12922,1,"파"],[12923,1,"하"],[12924,1,"참고"],[12925,1,"주의"],[12926,1,"우"],[12927,2],[12928,1,"一"],[12929,1,"二"],[12930,1,"三"],[12931,1,"四"],[12932,1,"五"],[12933,1,"六"],[12934,1,"七"],[12935,1,"八"],[12936,1,"九"],[12937,1,"十"],[12938,1,"月"],[12939,1,"火"],[12940,1,"水"],[12941,1,"木"],[12942,1,"金"],[12943,1,"土"],[12944,1,"日"],[12945,1,"株"],[12946,1,"有"],[12947,1,"社"],[12948,1,"名"],[12949,1,"特"],[12950,1,"財"],[12951,1,"祝"],[12952,1,"労"],[12953,1,"秘"],[12954,1,"男"],[12955,1,"女"],[12956,1,"適"],[12957,1,"優"],[12958,1,"印"],[12959,1,"注"],[12960,1,"項"],[12961,1,"休"],[12962,1,"写"],[12963,1,"正"],[12964,1,"上"],[12965,1,"中"],[12966,1,"下"],[12967,1,"左"],[12968,1,"右"],[12969,1,"医"],[12970,1,"宗"],[12971,1,"学"],[12972,1,"監"],[12973,1,"企"],[12974,1,"資"],[12975,1,"協"],[12976,1,"夜"],[12977,1,"36"],[12978,1,"37"],[12979,1,"38"],[12980,1,"39"],[12981,1,"40"],[12982,1,"41"],[12983,1,"42"],[12984,1,"43"],[12985,1,"44"],[12986,1,"45"],[12987,1,"46"],[12988,1,"47"],[12989,1,"48"],[12990,1,"49"],[12991,1,"50"],[12992,1,"1月"],[12993,1,"2月"],[12994,1,"3月"],[12995,1,"4月"],[12996,1,"5月"],[12997,1,"6月"],[12998,1,"7月"],[12999,1,"8月"],[13000,1,"9月"],[13001,1,"10月"],[13002,1,"11月"],[13003,1,"12月"],[13004,1,"hg"],[13005,1,"erg"],[13006,1,"ev"],[13007,1,"ltd"],[13008,1,"ア"],[13009,1,"イ"],[13010,1,"ウ"],[13011,1,"エ"],[13012,1,"オ"],[13013,1,"カ"],[13014,1,"キ"],[13015,1,"ク"],[13016,1,"ケ"],[13017,1,"コ"],[13018,1,"サ"],[13019,1,"シ"],[13020,1,"ス"],[13021,1,"セ"],[13022,1,"ソ"],[13023,1,"タ"],[13024,1,"チ"],[13025,1,"ツ"],[13026,1,"テ"],[13027,1,"ト"],[13028,1,"ナ"],[13029,1,"ニ"],[13030,1,"ヌ"],[13031,1,"ネ"],[13032,1,"ノ"],[13033,1,"ハ"],[13034,1,"ヒ"],[13035,1,"フ"],[13036,1,"ヘ"],[13037,1,"ホ"],[13038,1,"マ"],[13039,1,"ミ"],[13040,1,"ム"],[13041,1,"メ"],[13042,1,"モ"],[13043,1,"ヤ"],[13044,1,"ユ"],[13045,1,"ヨ"],[13046,1,"ラ"],[13047,1,"リ"],[13048,1,"ル"],[13049,1,"レ"],[13050,1,"ロ"],[13051,1,"ワ"],[13052,1,"ヰ"],[13053,1,"ヱ"],[13054,1,"ヲ"],[13055,1,"令和"],[13056,1,"アパート"],[13057,1,"アルファ"],[13058,1,"アンペア"],[13059,1,"アール"],[13060,1,"イニング"],[13061,1,"インチ"],[13062,1,"ウォン"],[13063,1,"エスクード"],[13064,1,"エーカー"],[13065,1,"オンス"],[13066,1,"オーム"],[13067,1,"カイリ"],[13068,1,"カラット"],[13069,1,"カロリー"],[13070,1,"ガロン"],[13071,1,"ガンマ"],[13072,1,"ギガ"],[13073,1,"ギニー"],[13074,1,"キュリー"],[13075,1,"ギルダー"],[13076,1,"キロ"],[13077,1,"キログラム"],[13078,1,"キロメートル"],[13079,1,"キロワット"],[13080,1,"グラム"],[13081,1,"グラムトン"],[13082,1,"クルゼイロ"],[13083,1,"クローネ"],[13084,1,"ケース"],[13085,1,"コルナ"],[13086,1,"コーポ"],[13087,1,"サイクル"],[13088,1,"サンチーム"],[13089,1,"シリング"],[13090,1,"センチ"],[13091,1,"セント"],[13092,1,"ダース"],[13093,1,"デシ"],[13094,1,"ドル"],[13095,1,"トン"],[13096,1,"ナノ"],[13097,1,"ノット"],[13098,1,"ハイツ"],[13099,1,"パーセント"],[13100,1,"パーツ"],[13101,1,"バーレル"],[13102,1,"ピアストル"],[13103,1,"ピクル"],[13104,1,"ピコ"],[13105,1,"ビル"],[13106,1,"ファラッド"],[13107,1,"フィート"],[13108,1,"ブッシェル"],[13109,1,"フラン"],[13110,1,"ヘクタール"],[13111,1,"ペソ"],[13112,1,"ペニヒ"],[13113,1,"ヘルツ"],[13114,1,"ペンス"],[13115,1,"ページ"],[13116,1,"ベータ"],[13117,1,"ポイント"],[13118,1,"ボルト"],[13119,1,"ホン"],[13120,1,"ポンド"],[13121,1,"ホール"],[13122,1,"ホーン"],[13123,1,"マイクロ"],[13124,1,"マイル"],[13125,1,"マッハ"],[13126,1,"マルク"],[13127,1,"マンション"],[13128,1,"ミクロン"],[13129,1,"ミリ"],[13130,1,"ミリバール"],[13131,1,"メガ"],[13132,1,"メガトン"],[13133,1,"メートル"],[13134,1,"ヤード"],[13135,1,"ヤール"],[13136,1,"ユアン"],[13137,1,"リットル"],[13138,1,"リラ"],[13139,1,"ルピー"],[13140,1,"ルーブル"],[13141,1,"レム"],[13142,1,"レントゲン"],[13143,1,"ワット"],[13144,1,"0点"],[13145,1,"1点"],[13146,1,"2点"],[13147,1,"3点"],[13148,1,"4点"],[13149,1,"5点"],[13150,1,"6点"],[13151,1,"7点"],[13152,1,"8点"],[13153,1,"9点"],[13154,1,"10点"],[13155,1,"11点"],[13156,1,"12点"],[13157,1,"13点"],[13158,1,"14点"],[13159,1,"15点"],[13160,1,"16点"],[13161,1,"17点"],[13162,1,"18点"],[13163,1,"19点"],[13164,1,"20点"],[13165,1,"21点"],[13166,1,"22点"],[13167,1,"23点"],[13168,1,"24点"],[13169,1,"hpa"],[13170,1,"da"],[13171,1,"au"],[13172,1,"bar"],[13173,1,"ov"],[13174,1,"pc"],[13175,1,"dm"],[13176,1,"dm2"],[13177,1,"dm3"],[13178,1,"iu"],[13179,1,"平成"],[13180,1,"昭和"],[13181,1,"大正"],[13182,1,"明治"],[13183,1,"株式会社"],[13184,1,"pa"],[13185,1,"na"],[13186,1,"μa"],[13187,1,"ma"],[13188,1,"ka"],[13189,1,"kb"],[13190,1,"mb"],[13191,1,"gb"],[13192,1,"cal"],[13193,1,"kcal"],[13194,1,"pf"],[13195,1,"nf"],[13196,1,"μf"],[13197,1,"μg"],[13198,1,"mg"],[13199,1,"kg"],[13200,1,"hz"],[13201,1,"khz"],[13202,1,"mhz"],[13203,1,"ghz"],[13204,1,"thz"],[13205,1,"μl"],[13206,1,"ml"],[13207,1,"dl"],[13208,1,"kl"],[13209,1,"fm"],[13210,1,"nm"],[13211,1,"μm"],[13212,1,"mm"],[13213,1,"cm"],[13214,1,"km"],[13215,1,"mm2"],[13216,1,"cm2"],[13217,1,"m2"],[13218,1,"km2"],[13219,1,"mm3"],[13220,1,"cm3"],[13221,1,"m3"],[13222,1,"km3"],[13223,1,"m∕s"],[13224,1,"m∕s2"],[13225,1,"pa"],[13226,1,"kpa"],[13227,1,"mpa"],[13228,1,"gpa"],[13229,1,"rad"],[13230,1,"rad∕s"],[13231,1,"rad∕s2"],[13232,1,"ps"],[13233,1,"ns"],[13234,1,"μs"],[13235,1,"ms"],[13236,1,"pv"],[13237,1,"nv"],[13238,1,"μv"],[13239,1,"mv"],[13240,1,"kv"],[13241,1,"mv"],[13242,1,"pw"],[13243,1,"nw"],[13244,1,"μw"],[13245,1,"mw"],[13246,1,"kw"],[13247,1,"mw"],[13248,1,"kω"],[13249,1,"mω"],[13250,3],[13251,1,"bq"],[13252,1,"cc"],[13253,1,"cd"],[13254,1,"c∕kg"],[13255,3],[13256,1,"db"],[13257,1,"gy"],[13258,1,"ha"],[13259,1,"hp"],[13260,1,"in"],[13261,1,"kk"],[13262,1,"km"],[13263,1,"kt"],[13264,1,"lm"],[13265,1,"ln"],[13266,1,"log"],[13267,1,"lx"],[13268,1,"mb"],[13269,1,"mil"],[13270,1,"mol"],[13271,1,"ph"],[13272,3],[13273,1,"ppm"],[13274,1,"pr"],[13275,1,"sr"],[13276,1,"sv"],[13277,1,"wb"],[13278,1,"v∕m"],[13279,1,"a∕m"],[13280,1,"1日"],[13281,1,"2日"],[13282,1,"3日"],[13283,1,"4日"],[13284,1,"5日"],[13285,1,"6日"],[13286,1,"7日"],[13287,1,"8日"],[13288,1,"9日"],[13289,1,"10日"],[13290,1,"11日"],[13291,1,"12日"],[13292,1,"13日"],[13293,1,"14日"],[13294,1,"15日"],[13295,1,"16日"],[13296,1,"17日"],[13297,1,"18日"],[13298,1,"19日"],[13299,1,"20日"],[13300,1,"21日"],[13301,1,"22日"],[13302,1,"23日"],[13303,1,"24日"],[13304,1,"25日"],[13305,1,"26日"],[13306,1,"27日"],[13307,1,"28日"],[13308,1,"29日"],[13309,1,"30日"],[13310,1,"31日"],[13311,1,"gal"],[[13312,19893],2],[[19894,19903],2],[[19904,19967],2],[[19968,40869],2],[[40870,40891],2],[[40892,40899],2],[[40900,40907],2],[40908,2],[[40909,40917],2],[[40918,40938],2],[[40939,40943],2],[[40944,40956],2],[[40957,40959],3],[[40960,42124],2],[[42125,42127],3],[[42128,42145],2],[[42146,42147],2],[[42148,42163],2],[42164,2],[[42165,42176],2],[42177,2],[[42178,42180],2],[42181,2],[42182,2],[[42183,42191],3],[[42192,42237],2],[[42238,42239],2],[[42240,42508],2],[[42509,42511],2],[[42512,42539],2],[[42540,42559],3],[42560,1,"ꙁ"],[42561,2],[42562,1,"ꙃ"],[42563,2],[42564,1,"ꙅ"],[42565,2],[42566,1,"ꙇ"],[42567,2],[42568,1,"ꙉ"],[42569,2],[42570,1,"ꙋ"],[42571,2],[42572,1,"ꙍ"],[42573,2],[42574,1,"ꙏ"],[42575,2],[42576,1,"ꙑ"],[42577,2],[42578,1,"ꙓ"],[42579,2],[42580,1,"ꙕ"],[42581,2],[42582,1,"ꙗ"],[42583,2],[42584,1,"ꙙ"],[42585,2],[42586,1,"ꙛ"],[42587,2],[42588,1,"ꙝ"],[42589,2],[42590,1,"ꙟ"],[42591,2],[42592,1,"ꙡ"],[42593,2],[42594,1,"ꙣ"],[42595,2],[42596,1,"ꙥ"],[42597,2],[42598,1,"ꙧ"],[42599,2],[42600,1,"ꙩ"],[42601,2],[42602,1,"ꙫ"],[42603,2],[42604,1,"ꙭ"],[[42605,42607],2],[[42608,42611],2],[[42612,42619],2],[[42620,42621],2],[42622,2],[42623,2],[42624,1,"ꚁ"],[42625,2],[42626,1,"ꚃ"],[42627,2],[42628,1,"ꚅ"],[42629,2],[42630,1,"ꚇ"],[42631,2],[42632,1,"ꚉ"],[42633,2],[42634,1,"ꚋ"],[42635,2],[42636,1,"ꚍ"],[42637,2],[42638,1,"ꚏ"],[42639,2],[42640,1,"ꚑ"],[42641,2],[42642,1,"ꚓ"],[42643,2],[42644,1,"ꚕ"],[42645,2],[42646,1,"ꚗ"],[42647,2],[42648,1,"ꚙ"],[42649,2],[42650,1,"ꚛ"],[42651,2],[42652,1,"ъ"],[42653,1,"ь"],[42654,2],[42655,2],[[42656,42725],2],[[42726,42735],2],[[42736,42737],2],[[42738,42743],2],[[42744,42751],3],[[42752,42774],2],[[42775,42778],2],[[42779,42783],2],[[42784,42785],2],[42786,1,"ꜣ"],[42787,2],[42788,1,"ꜥ"],[42789,2],[42790,1,"ꜧ"],[42791,2],[42792,1,"ꜩ"],[42793,2],[42794,1,"ꜫ"],[42795,2],[42796,1,"ꜭ"],[42797,2],[42798,1,"ꜯ"],[[42799,42801],2],[42802,1,"ꜳ"],[42803,2],[42804,1,"ꜵ"],[42805,2],[42806,1,"ꜷ"],[42807,2],[42808,1,"ꜹ"],[42809,2],[42810,1,"ꜻ"],[42811,2],[42812,1,"ꜽ"],[42813,2],[42814,1,"ꜿ"],[42815,2],[42816,1,"ꝁ"],[42817,2],[42818,1,"ꝃ"],[42819,2],[42820,1,"ꝅ"],[42821,2],[42822,1,"ꝇ"],[42823,2],[42824,1,"ꝉ"],[42825,2],[42826,1,"ꝋ"],[42827,2],[42828,1,"ꝍ"],[42829,2],[42830,1,"ꝏ"],[42831,2],[42832,1,"ꝑ"],[42833,2],[42834,1,"ꝓ"],[42835,2],[42836,1,"ꝕ"],[42837,2],[42838,1,"ꝗ"],[42839,2],[42840,1,"ꝙ"],[42841,2],[42842,1,"ꝛ"],[42843,2],[42844,1,"ꝝ"],[42845,2],[42846,1,"ꝟ"],[42847,2],[42848,1,"ꝡ"],[42849,2],[42850,1,"ꝣ"],[42851,2],[42852,1,"ꝥ"],[42853,2],[42854,1,"ꝧ"],[42855,2],[42856,1,"ꝩ"],[42857,2],[42858,1,"ꝫ"],[42859,2],[42860,1,"ꝭ"],[42861,2],[42862,1,"ꝯ"],[42863,2],[42864,1,"ꝯ"],[[42865,42872],2],[42873,1,"ꝺ"],[42874,2],[42875,1,"ꝼ"],[42876,2],[42877,1,"ᵹ"],[42878,1,"ꝿ"],[42879,2],[42880,1,"ꞁ"],[42881,2],[42882,1,"ꞃ"],[42883,2],[42884,1,"ꞅ"],[42885,2],[42886,1,"ꞇ"],[[42887,42888],2],[[42889,42890],2],[42891,1,"ꞌ"],[42892,2],[42893,1,"ɥ"],[42894,2],[42895,2],[42896,1,"ꞑ"],[42897,2],[42898,1,"ꞓ"],[42899,2],[[42900,42901],2],[42902,1,"ꞗ"],[42903,2],[42904,1,"ꞙ"],[42905,2],[42906,1,"ꞛ"],[42907,2],[42908,1,"ꞝ"],[42909,2],[42910,1,"ꞟ"],[42911,2],[42912,1,"ꞡ"],[42913,2],[42914,1,"ꞣ"],[42915,2],[42916,1,"ꞥ"],[42917,2],[42918,1,"ꞧ"],[42919,2],[42920,1,"ꞩ"],[42921,2],[42922,1,"ɦ"],[42923,1,"ɜ"],[42924,1,"ɡ"],[42925,1,"ɬ"],[42926,1,"ɪ"],[42927,2],[42928,1,"ʞ"],[42929,1,"ʇ"],[42930,1,"ʝ"],[42931,1,"ꭓ"],[42932,1,"ꞵ"],[42933,2],[42934,1,"ꞷ"],[42935,2],[42936,1,"ꞹ"],[42937,2],[42938,1,"ꞻ"],[42939,2],[42940,1,"ꞽ"],[42941,2],[42942,1,"ꞿ"],[42943,2],[[42944,42945],3],[42946,1,"ꟃ"],[42947,2],[42948,1,"ꞔ"],[42949,1,"ʂ"],[42950,1,"ᶎ"],[42951,1,"ꟈ"],[42952,2],[42953,1,"ꟊ"],[42954,2],[[42955,42996],3],[42997,1,"ꟶ"],[42998,2],[42999,2],[43000,1,"ħ"],[43001,1,"œ"],[43002,2],[[43003,43007],2],[[43008,43047],2],[[43048,43051],2],[43052,2],[[43053,43055],3],[[43056,43065],2],[[43066,43071],3],[[43072,43123],2],[[43124,43127],2],[[43128,43135],3],[[43136,43204],2],[43205,2],[[43206,43213],3],[[43214,43215],2],[[43216,43225],2],[[43226,43231],3],[[43232,43255],2],[[43256,43258],2],[43259,2],[43260,2],[43261,2],[[43262,43263],2],[[43264,43309],2],[[43310,43311],2],[[43312,43347],2],[[43348,43358],3],[43359,2],[[43360,43388],2],[[43389,43391],3],[[43392,43456],2],[[43457,43469],2],[43470,3],[[43471,43481],2],[[43482,43485],3],[[43486,43487],2],[[43488,43518],2],[43519,3],[[43520,43574],2],[[43575,43583],3],[[43584,43597],2],[[43598,43599],3],[[43600,43609],2],[[43610,43611],3],[[43612,43615],2],[[43616,43638],2],[[43639,43641],2],[[43642,43643],2],[[43644,43647],2],[[43648,43714],2],[[43715,43738],3],[[43739,43741],2],[[43742,43743],2],[[43744,43759],2],[[43760,43761],2],[[43762,43766],2],[[43767,43776],3],[[43777,43782],2],[[43783,43784],3],[[43785,43790],2],[[43791,43792],3],[[43793,43798],2],[[43799,43807],3],[[43808,43814],2],[43815,3],[[43816,43822],2],[43823,3],[[43824,43866],2],[43867,2],[43868,1,"ꜧ"],[43869,1,"ꬷ"],[43870,1,"ɫ"],[43871,1,"ꭒ"],[[43872,43875],2],[[43876,43877],2],[[43878,43879],2],[43880,2],[43881,1,"ʍ"],[[43882,43883],2],[[43884,43887],3],[43888,1,"Ꭰ"],[43889,1,"Ꭱ"],[43890,1,"Ꭲ"],[43891,1,"Ꭳ"],[43892,1,"Ꭴ"],[43893,1,"Ꭵ"],[43894,1,"Ꭶ"],[43895,1,"Ꭷ"],[43896,1,"Ꭸ"],[43897,1,"Ꭹ"],[43898,1,"Ꭺ"],[43899,1,"Ꭻ"],[43900,1,"Ꭼ"],[43901,1,"Ꭽ"],[43902,1,"Ꭾ"],[43903,1,"Ꭿ"],[43904,1,"Ꮀ"],[43905,1,"Ꮁ"],[43906,1,"Ꮂ"],[43907,1,"Ꮃ"],[43908,1,"Ꮄ"],[43909,1,"Ꮅ"],[43910,1,"Ꮆ"],[43911,1,"Ꮇ"],[43912,1,"Ꮈ"],[43913,1,"Ꮉ"],[43914,1,"Ꮊ"],[43915,1,"Ꮋ"],[43916,1,"Ꮌ"],[43917,1,"Ꮍ"],[43918,1,"Ꮎ"],[43919,1,"Ꮏ"],[43920,1,"Ꮐ"],[43921,1,"Ꮑ"],[43922,1,"Ꮒ"],[43923,1,"Ꮓ"],[43924,1,"Ꮔ"],[43925,1,"Ꮕ"],[43926,1,"Ꮖ"],[43927,1,"Ꮗ"],[43928,1,"Ꮘ"],[43929,1,"Ꮙ"],[43930,1,"Ꮚ"],[43931,1,"Ꮛ"],[43932,1,"Ꮜ"],[43933,1,"Ꮝ"],[43934,1,"Ꮞ"],[43935,1,"Ꮟ"],[43936,1,"Ꮠ"],[43937,1,"Ꮡ"],[43938,1,"Ꮢ"],[43939,1,"Ꮣ"],[43940,1,"Ꮤ"],[43941,1,"Ꮥ"],[43942,1,"Ꮦ"],[43943,1,"Ꮧ"],[43944,1,"Ꮨ"],[43945,1,"Ꮩ"],[43946,1,"Ꮪ"],[43947,1,"Ꮫ"],[43948,1,"Ꮬ"],[43949,1,"Ꮭ"],[43950,1,"Ꮮ"],[43951,1,"Ꮯ"],[43952,1,"Ꮰ"],[43953,1,"Ꮱ"],[43954,1,"Ꮲ"],[43955,1,"Ꮳ"],[43956,1,"Ꮴ"],[43957,1,"Ꮵ"],[43958,1,"Ꮶ"],[43959,1,"Ꮷ"],[43960,1,"Ꮸ"],[43961,1,"Ꮹ"],[43962,1,"Ꮺ"],[43963,1,"Ꮻ"],[43964,1,"Ꮼ"],[43965,1,"Ꮽ"],[43966,1,"Ꮾ"],[43967,1,"Ꮿ"],[[43968,44010],2],[44011,2],[[44012,44013],2],[[44014,44015],3],[[44016,44025],2],[[44026,44031],3],[[44032,55203],2],[[55204,55215],3],[[55216,55238],2],[[55239,55242],3],[[55243,55291],2],[[55292,55295],3],[[55296,57343],3],[[57344,63743],3],[63744,1,"豈"],[63745,1,"更"],[63746,1,"車"],[63747,1,"賈"],[63748,1,"滑"],[63749,1,"串"],[63750,1,"句"],[[63751,63752],1,"龜"],[63753,1,"契"],[63754,1,"金"],[63755,1,"喇"],[63756,1,"奈"],[63757,1,"懶"],[63758,1,"癩"],[63759,1,"羅"],[63760,1,"蘿"],[63761,1,"螺"],[63762,1,"裸"],[63763,1,"邏"],[63764,1,"樂"],[63765,1,"洛"],[63766,1,"烙"],[63767,1,"珞"],[63768,1,"落"],[63769,1,"酪"],[63770,1,"駱"],[63771,1,"亂"],[63772,1,"卵"],[63773,1,"欄"],[63774,1,"爛"],[63775,1,"蘭"],[63776,1,"鸞"],[63777,1,"嵐"],[63778,1,"濫"],[63779,1,"藍"],[63780,1,"襤"],[63781,1,"拉"],[63782,1,"臘"],[63783,1,"蠟"],[63784,1,"廊"],[63785,1,"朗"],[63786,1,"浪"],[63787,1,"狼"],[63788,1,"郎"],[63789,1,"來"],[63790,1,"冷"],[63791,1,"勞"],[63792,1,"擄"],[63793,1,"櫓"],[63794,1,"爐"],[63795,1,"盧"],[63796,1,"老"],[63797,1,"蘆"],[63798,1,"虜"],[63799,1,"路"],[63800,1,"露"],[63801,1,"魯"],[63802,1,"鷺"],[63803,1,"碌"],[63804,1,"祿"],[63805,1,"綠"],[63806,1,"菉"],[63807,1,"錄"],[63808,1,"鹿"],[63809,1,"論"],[63810,1,"壟"],[63811,1,"弄"],[63812,1,"籠"],[63813,1,"聾"],[63814,1,"牢"],[63815,1,"磊"],[63816,1,"賂"],[63817,1,"雷"],[63818,1,"壘"],[63819,1,"屢"],[63820,1,"樓"],[63821,1,"淚"],[63822,1,"漏"],[63823,1,"累"],[63824,1,"縷"],[63825,1,"陋"],[63826,1,"勒"],[63827,1,"肋"],[63828,1,"凜"],[63829,1,"凌"],[63830,1,"稜"],[63831,1,"綾"],[63832,1,"菱"],[63833,1,"陵"],[63834,1,"讀"],[63835,1,"拏"],[63836,1,"樂"],[63837,1,"諾"],[63838,1,"丹"],[63839,1,"寧"],[63840,1,"怒"],[63841,1,"率"],[63842,1,"異"],[63843,1,"北"],[63844,1,"磻"],[63845,1,"便"],[63846,1,"復"],[63847,1,"不"],[63848,1,"泌"],[63849,1,"數"],[63850,1,"索"],[63851,1,"參"],[63852,1,"塞"],[63853,1,"省"],[63854,1,"葉"],[63855,1,"說"],[63856,1,"殺"],[63857,1,"辰"],[63858,1,"沈"],[63859,1,"拾"],[63860,1,"若"],[63861,1,"掠"],[63862,1,"略"],[63863,1,"亮"],[63864,1,"兩"],[63865,1,"凉"],[63866,1,"梁"],[63867,1,"糧"],[63868,1,"良"],[63869,1,"諒"],[63870,1,"量"],[63871,1,"勵"],[63872,1,"呂"],[63873,1,"女"],[63874,1,"廬"],[63875,1,"旅"],[63876,1,"濾"],[63877,1,"礪"],[63878,1,"閭"],[63879,1,"驪"],[63880,1,"麗"],[63881,1,"黎"],[63882,1,"力"],[63883,1,"曆"],[63884,1,"歷"],[63885,1,"轢"],[63886,1,"年"],[63887,1,"憐"],[63888,1,"戀"],[63889,1,"撚"],[63890,1,"漣"],[63891,1,"煉"],[63892,1,"璉"],[63893,1,"秊"],[63894,1,"練"],[63895,1,"聯"],[63896,1,"輦"],[63897,1,"蓮"],[63898,1,"連"],[63899,1,"鍊"],[63900,1,"列"],[63901,1,"劣"],[63902,1,"咽"],[63903,1,"烈"],[63904,1,"裂"],[63905,1,"說"],[63906,1,"廉"],[63907,1,"念"],[63908,1,"捻"],[63909,1,"殮"],[63910,1,"簾"],[63911,1,"獵"],[63912,1,"令"],[63913,1,"囹"],[63914,1,"寧"],[63915,1,"嶺"],[63916,1,"怜"],[63917,1,"玲"],[63918,1,"瑩"],[63919,1,"羚"],[63920,1,"聆"],[63921,1,"鈴"],[63922,1,"零"],[63923,1,"靈"],[63924,1,"領"],[63925,1,"例"],[63926,1,"禮"],[63927,1,"醴"],[63928,1,"隸"],[63929,1,"惡"],[63930,1,"了"],[63931,1,"僚"],[63932,1,"寮"],[63933,1,"尿"],[63934,1,"料"],[63935,1,"樂"],[63936,1,"燎"],[63937,1,"療"],[63938,1,"蓼"],[63939,1,"遼"],[63940,1,"龍"],[63941,1,"暈"],[63942,1,"阮"],[63943,1,"劉"],[63944,1,"杻"],[63945,1,"柳"],[63946,1,"流"],[63947,1,"溜"],[63948,1,"琉"],[63949,1,"留"],[63950,1,"硫"],[63951,1,"紐"],[63952,1,"類"],[63953,1,"六"],[63954,1,"戮"],[63955,1,"陸"],[63956,1,"倫"],[63957,1,"崙"],[63958,1,"淪"],[63959,1,"輪"],[63960,1,"律"],[63961,1,"慄"],[63962,1,"栗"],[63963,1,"率"],[63964,1,"隆"],[63965,1,"利"],[63966,1,"吏"],[63967,1,"履"],[63968,1,"易"],[63969,1,"李"],[63970,1,"梨"],[63971,1,"泥"],[63972,1,"理"],[63973,1,"痢"],[63974,1,"罹"],[63975,1,"裏"],[63976,1,"裡"],[63977,1,"里"],[63978,1,"離"],[63979,1,"匿"],[63980,1,"溺"],[63981,1,"吝"],[63982,1,"燐"],[63983,1,"璘"],[63984,1,"藺"],[63985,1,"隣"],[63986,1,"鱗"],[63987,1,"麟"],[63988,1,"林"],[63989,1,"淋"],[63990,1,"臨"],[63991,1,"立"],[63992,1,"笠"],[63993,1,"粒"],[63994,1,"狀"],[63995,1,"炙"],[63996,1,"識"],[63997,1,"什"],[63998,1,"茶"],[63999,1,"刺"],[64000,1,"切"],[64001,1,"度"],[64002,1,"拓"],[64003,1,"糖"],[64004,1,"宅"],[64005,1,"洞"],[64006,1,"暴"],[64007,1,"輻"],[64008,1,"行"],[64009,1,"降"],[64010,1,"見"],[64011,1,"廓"],[64012,1,"兀"],[64013,1,"嗀"],[[64014,64015],2],[64016,1,"塚"],[64017,2],[64018,1,"晴"],[[64019,64020],2],[64021,1,"凞"],[64022,1,"猪"],[64023,1,"益"],[64024,1,"礼"],[64025,1,"神"],[64026,1,"祥"],[64027,1,"福"],[64028,1,"靖"],[64029,1,"精"],[64030,1,"羽"],[64031,2],[64032,1,"蘒"],[64033,2],[64034,1,"諸"],[[64035,64036],2],[64037,1,"逸"],[64038,1,"都"],[[64039,64041],2],[64042,1,"飯"],[64043,1,"飼"],[64044,1,"館"],[64045,1,"鶴"],[64046,1,"郞"],[64047,1,"隷"],[64048,1,"侮"],[64049,1,"僧"],[64050,1,"免"],[64051,1,"勉"],[64052,1,"勤"],[64053,1,"卑"],[64054,1,"喝"],[64055,1,"嘆"],[64056,1,"器"],[64057,1,"塀"],[64058,1,"墨"],[64059,1,"層"],[64060,1,"屮"],[64061,1,"悔"],[64062,1,"慨"],[64063,1,"憎"],[64064,1,"懲"],[64065,1,"敏"],[64066,1,"既"],[64067,1,"暑"],[64068,1,"梅"],[64069,1,"海"],[64070,1,"渚"],[64071,1,"漢"],[64072,1,"煮"],[64073,1,"爫"],[64074,1,"琢"],[64075,1,"碑"],[64076,1,"社"],[64077,1,"祉"],[64078,1,"祈"],[64079,1,"祐"],[64080,1,"祖"],[64081,1,"祝"],[64082,1,"禍"],[64083,1,"禎"],[64084,1,"穀"],[64085,1,"突"],[64086,1,"節"],[64087,1,"練"],[64088,1,"縉"],[64089,1,"繁"],[64090,1,"署"],[64091,1,"者"],[64092,1,"臭"],[[64093,64094],1,"艹"],[64095,1,"著"],[64096,1,"褐"],[64097,1,"視"],[64098,1,"謁"],[64099,1,"謹"],[64100,1,"賓"],[64101,1,"贈"],[64102,1,"辶"],[64103,1,"逸"],[64104,1,"難"],[64105,1,"響"],[64106,1,"頻"],[64107,1,"恵"],[64108,1,"𤋮"],[64109,1,"舘"],[[64110,64111],3],[64112,1,"並"],[64113,1,"况"],[64114,1,"全"],[64115,1,"侀"],[64116,1,"充"],[64117,1,"冀"],[64118,1,"勇"],[64119,1,"勺"],[64120,1,"喝"],[64121,1,"啕"],[64122,1,"喙"],[64123,1,"嗢"],[64124,1,"塚"],[64125,1,"墳"],[64126,1,"奄"],[64127,1,"奔"],[64128,1,"婢"],[64129,1,"嬨"],[64130,1,"廒"],[64131,1,"廙"],[64132,1,"彩"],[64133,1,"徭"],[64134,1,"惘"],[64135,1,"慎"],[64136,1,"愈"],[64137,1,"憎"],[64138,1,"慠"],[64139,1,"懲"],[64140,1,"戴"],[64141,1,"揄"],[64142,1,"搜"],[64143,1,"摒"],[64144,1,"敖"],[64145,1,"晴"],[64146,1,"朗"],[64147,1,"望"],[64148,1,"杖"],[64149,1,"歹"],[64150,1,"殺"],[64151,1,"流"],[64152,1,"滛"],[64153,1,"滋"],[64154,1,"漢"],[64155,1,"瀞"],[64156,1,"煮"],[64157,1,"瞧"],[64158,1,"爵"],[64159,1,"犯"],[64160,1,"猪"],[64161,1,"瑱"],[64162,1,"甆"],[64163,1,"画"],[64164,1,"瘝"],[64165,1,"瘟"],[64166,1,"益"],[64167,1,"盛"],[64168,1,"直"],[64169,1,"睊"],[64170,1,"着"],[64171,1,"磌"],[64172,1,"窱"],[64173,1,"節"],[64174,1,"类"],[64175,1,"絛"],[64176,1,"練"],[64177,1,"缾"],[64178,1,"者"],[64179,1,"荒"],[64180,1,"華"],[64181,1,"蝹"],[64182,1,"襁"],[64183,1,"覆"],[64184,1,"視"],[64185,1,"調"],[64186,1,"諸"],[64187,1,"請"],[64188,1,"謁"],[64189,1,"諾"],[64190,1,"諭"],[64191,1,"謹"],[64192,1,"變"],[64193,1,"贈"],[64194,1,"輸"],[64195,1,"遲"],[64196,1,"醙"],[64197,1,"鉶"],[64198,1,"陼"],[64199,1,"難"],[64200,1,"靖"],[64201,1,"韛"],[64202,1,"響"],[64203,1,"頋"],[64204,1,"頻"],[64205,1,"鬒"],[64206,1,"龜"],[64207,1,"𢡊"],[64208,1,"𢡄"],[64209,1,"𣏕"],[64210,1,"㮝"],[64211,1,"䀘"],[64212,1,"䀹"],[64213,1,"𥉉"],[64214,1,"𥳐"],[64215,1,"𧻓"],[64216,1,"齃"],[64217,1,"龎"],[[64218,64255],3],[64256,1,"ff"],[64257,1,"fi"],[64258,1,"fl"],[64259,1,"ffi"],[64260,1,"ffl"],[[64261,64262],1,"st"],[[64263,64274],3],[64275,1,"մն"],[64276,1,"մե"],[64277,1,"մի"],[64278,1,"վն"],[64279,1,"մխ"],[[64280,64284],3],[64285,1,"יִ"],[64286,2],[64287,1,"ײַ"],[64288,1,"ע"],[64289,1,"א"],[64290,1,"ד"],[64291,1,"ה"],[64292,1,"כ"],[64293,1,"ל"],[64294,1,"ם"],[64295,1,"ר"],[64296,1,"ת"],[64297,5,"+"],[64298,1,"שׁ"],[64299,1,"שׂ"],[64300,1,"שּׁ"],[64301,1,"שּׂ"],[64302,1,"אַ"],[64303,1,"אָ"],[64304,1,"אּ"],[64305,1,"בּ"],[64306,1,"גּ"],[64307,1,"דּ"],[64308,1,"הּ"],[64309,1,"וּ"],[64310,1,"זּ"],[64311,3],[64312,1,"טּ"],[64313,1,"יּ"],[64314,1,"ךּ"],[64315,1,"כּ"],[64316,1,"לּ"],[64317,3],[64318,1,"מּ"],[64319,3],[64320,1,"נּ"],[64321,1,"סּ"],[64322,3],[64323,1,"ףּ"],[64324,1,"פּ"],[64325,3],[64326,1,"צּ"],[64327,1,"קּ"],[64328,1,"רּ"],[64329,1,"שּ"],[64330,1,"תּ"],[64331,1,"וֹ"],[64332,1,"בֿ"],[64333,1,"כֿ"],[64334,1,"פֿ"],[64335,1,"אל"],[[64336,64337],1,"ٱ"],[[64338,64341],1,"ٻ"],[[64342,64345],1,"پ"],[[64346,64349],1,"ڀ"],[[64350,64353],1,"ٺ"],[[64354,64357],1,"ٿ"],[[64358,64361],1,"ٹ"],[[64362,64365],1,"ڤ"],[[64366,64369],1,"ڦ"],[[64370,64373],1,"ڄ"],[[64374,64377],1,"ڃ"],[[64378,64381],1,"چ"],[[64382,64385],1,"ڇ"],[[64386,64387],1,"ڍ"],[[64388,64389],1,"ڌ"],[[64390,64391],1,"ڎ"],[[64392,64393],1,"ڈ"],[[64394,64395],1,"ژ"],[[64396,64397],1,"ڑ"],[[64398,64401],1,"ک"],[[64402,64405],1,"گ"],[[64406,64409],1,"ڳ"],[[64410,64413],1,"ڱ"],[[64414,64415],1,"ں"],[[64416,64419],1,"ڻ"],[[64420,64421],1,"ۀ"],[[64422,64425],1,"ہ"],[[64426,64429],1,"ھ"],[[64430,64431],1,"ے"],[[64432,64433],1,"ۓ"],[[64434,64449],2],[[64450,64466],3],[[64467,64470],1,"ڭ"],[[64471,64472],1,"ۇ"],[[64473,64474],1,"ۆ"],[[64475,64476],1,"ۈ"],[64477,1,"ۇٴ"],[[64478,64479],1,"ۋ"],[[64480,64481],1,"ۅ"],[[64482,64483],1,"ۉ"],[[64484,64487],1,"ې"],[[64488,64489],1,"ى"],[[64490,64491],1,"ئا"],[[64492,64493],1,"ئە"],[[64494,64495],1,"ئو"],[[64496,64497],1,"ئۇ"],[[64498,64499],1,"ئۆ"],[[64500,64501],1,"ئۈ"],[[64502,64504],1,"ئې"],[[64505,64507],1,"ئى"],[[64508,64511],1,"ی"],[64512,1,"ئج"],[64513,1,"ئح"],[64514,1,"ئم"],[64515,1,"ئى"],[64516,1,"ئي"],[64517,1,"بج"],[64518,1,"بح"],[64519,1,"بخ"],[64520,1,"بم"],[64521,1,"بى"],[64522,1,"بي"],[64523,1,"تج"],[64524,1,"تح"],[64525,1,"تخ"],[64526,1,"تم"],[64527,1,"تى"],[64528,1,"تي"],[64529,1,"ثج"],[64530,1,"ثم"],[64531,1,"ثى"],[64532,1,"ثي"],[64533,1,"جح"],[64534,1,"جم"],[64535,1,"حج"],[64536,1,"حم"],[64537,1,"خج"],[64538,1,"خح"],[64539,1,"خم"],[64540,1,"سج"],[64541,1,"سح"],[64542,1,"سخ"],[64543,1,"سم"],[64544,1,"صح"],[64545,1,"صم"],[64546,1,"ضج"],[64547,1,"ضح"],[64548,1,"ضخ"],[64549,1,"ضم"],[64550,1,"طح"],[64551,1,"طم"],[64552,1,"ظم"],[64553,1,"عج"],[64554,1,"عم"],[64555,1,"غج"],[64556,1,"غم"],[64557,1,"فج"],[64558,1,"فح"],[64559,1,"فخ"],[64560,1,"فم"],[64561,1,"فى"],[64562,1,"في"],[64563,1,"قح"],[64564,1,"قم"],[64565,1,"قى"],[64566,1,"قي"],[64567,1,"كا"],[64568,1,"كج"],[64569,1,"كح"],[64570,1,"كخ"],[64571,1,"كل"],[64572,1,"كم"],[64573,1,"كى"],[64574,1,"كي"],[64575,1,"لج"],[64576,1,"لح"],[64577,1,"لخ"],[64578,1,"لم"],[64579,1,"لى"],[64580,1,"لي"],[64581,1,"مج"],[64582,1,"مح"],[64583,1,"مخ"],[64584,1,"مم"],[64585,1,"مى"],[64586,1,"مي"],[64587,1,"نج"],[64588,1,"نح"],[64589,1,"نخ"],[64590,1,"نم"],[64591,1,"نى"],[64592,1,"ني"],[64593,1,"هج"],[64594,1,"هم"],[64595,1,"هى"],[64596,1,"هي"],[64597,1,"يج"],[64598,1,"يح"],[64599,1,"يخ"],[64600,1,"يم"],[64601,1,"يى"],[64602,1,"يي"],[64603,1,"ذٰ"],[64604,1,"رٰ"],[64605,1,"ىٰ"],[64606,5," ٌّ"],[64607,5," ٍّ"],[64608,5," َّ"],[64609,5," ُّ"],[64610,5," ِّ"],[64611,5," ّٰ"],[64612,1,"ئر"],[64613,1,"ئز"],[64614,1,"ئم"],[64615,1,"ئن"],[64616,1,"ئى"],[64617,1,"ئي"],[64618,1,"بر"],[64619,1,"بز"],[64620,1,"بم"],[64621,1,"بن"],[64622,1,"بى"],[64623,1,"بي"],[64624,1,"تر"],[64625,1,"تز"],[64626,1,"تم"],[64627,1,"تن"],[64628,1,"تى"],[64629,1,"تي"],[64630,1,"ثر"],[64631,1,"ثز"],[64632,1,"ثم"],[64633,1,"ثن"],[64634,1,"ثى"],[64635,1,"ثي"],[64636,1,"فى"],[64637,1,"في"],[64638,1,"قى"],[64639,1,"قي"],[64640,1,"كا"],[64641,1,"كل"],[64642,1,"كم"],[64643,1,"كى"],[64644,1,"كي"],[64645,1,"لم"],[64646,1,"لى"],[64647,1,"لي"],[64648,1,"ما"],[64649,1,"مم"],[64650,1,"نر"],[64651,1,"نز"],[64652,1,"نم"],[64653,1,"نن"],[64654,1,"نى"],[64655,1,"ني"],[64656,1,"ىٰ"],[64657,1,"ير"],[64658,1,"يز"],[64659,1,"يم"],[64660,1,"ين"],[64661,1,"يى"],[64662,1,"يي"],[64663,1,"ئج"],[64664,1,"ئح"],[64665,1,"ئخ"],[64666,1,"ئم"],[64667,1,"ئه"],[64668,1,"بج"],[64669,1,"بح"],[64670,1,"بخ"],[64671,1,"بم"],[64672,1,"به"],[64673,1,"تج"],[64674,1,"تح"],[64675,1,"تخ"],[64676,1,"تم"],[64677,1,"ته"],[64678,1,"ثم"],[64679,1,"جح"],[64680,1,"جم"],[64681,1,"حج"],[64682,1,"حم"],[64683,1,"خج"],[64684,1,"خم"],[64685,1,"سج"],[64686,1,"سح"],[64687,1,"سخ"],[64688,1,"سم"],[64689,1,"صح"],[64690,1,"صخ"],[64691,1,"صم"],[64692,1,"ضج"],[64693,1,"ضح"],[64694,1,"ضخ"],[64695,1,"ضم"],[64696,1,"طح"],[64697,1,"ظم"],[64698,1,"عج"],[64699,1,"عم"],[64700,1,"غج"],[64701,1,"غم"],[64702,1,"فج"],[64703,1,"فح"],[64704,1,"فخ"],[64705,1,"فم"],[64706,1,"قح"],[64707,1,"قم"],[64708,1,"كج"],[64709,1,"كح"],[64710,1,"كخ"],[64711,1,"كل"],[64712,1,"كم"],[64713,1,"لج"],[64714,1,"لح"],[64715,1,"لخ"],[64716,1,"لم"],[64717,1,"له"],[64718,1,"مج"],[64719,1,"مح"],[64720,1,"مخ"],[64721,1,"مم"],[64722,1,"نج"],[64723,1,"نح"],[64724,1,"نخ"],[64725,1,"نم"],[64726,1,"نه"],[64727,1,"هج"],[64728,1,"هم"],[64729,1,"هٰ"],[64730,1,"يج"],[64731,1,"يح"],[64732,1,"يخ"],[64733,1,"يم"],[64734,1,"يه"],[64735,1,"ئم"],[64736,1,"ئه"],[64737,1,"بم"],[64738,1,"به"],[64739,1,"تم"],[64740,1,"ته"],[64741,1,"ثم"],[64742,1,"ثه"],[64743,1,"سم"],[64744,1,"سه"],[64745,1,"شم"],[64746,1,"شه"],[64747,1,"كل"],[64748,1,"كم"],[64749,1,"لم"],[64750,1,"نم"],[64751,1,"نه"],[64752,1,"يم"],[64753,1,"يه"],[64754,1,"ـَّ"],[64755,1,"ـُّ"],[64756,1,"ـِّ"],[64757,1,"طى"],[64758,1,"طي"],[64759,1,"عى"],[64760,1,"عي"],[64761,1,"غى"],[64762,1,"غي"],[64763,1,"سى"],[64764,1,"سي"],[64765,1,"شى"],[64766,1,"شي"],[64767,1,"حى"],[64768,1,"حي"],[64769,1,"جى"],[64770,1,"جي"],[64771,1,"خى"],[64772,1,"خي"],[64773,1,"صى"],[64774,1,"صي"],[64775,1,"ضى"],[64776,1,"ضي"],[64777,1,"شج"],[64778,1,"شح"],[64779,1,"شخ"],[64780,1,"شم"],[64781,1,"شر"],[64782,1,"سر"],[64783,1,"صر"],[64784,1,"ضر"],[64785,1,"طى"],[64786,1,"طي"],[64787,1,"عى"],[64788,1,"عي"],[64789,1,"غى"],[64790,1,"غي"],[64791,1,"سى"],[64792,1,"سي"],[64793,1,"شى"],[64794,1,"شي"],[64795,1,"حى"],[64796,1,"حي"],[64797,1,"جى"],[64798,1,"جي"],[64799,1,"خى"],[64800,1,"خي"],[64801,1,"صى"],[64802,1,"صي"],[64803,1,"ضى"],[64804,1,"ضي"],[64805,1,"شج"],[64806,1,"شح"],[64807,1,"شخ"],[64808,1,"شم"],[64809,1,"شر"],[64810,1,"سر"],[64811,1,"صر"],[64812,1,"ضر"],[64813,1,"شج"],[64814,1,"شح"],[64815,1,"شخ"],[64816,1,"شم"],[64817,1,"سه"],[64818,1,"شه"],[64819,1,"طم"],[64820,1,"سج"],[64821,1,"سح"],[64822,1,"سخ"],[64823,1,"شج"],[64824,1,"شح"],[64825,1,"شخ"],[64826,1,"طم"],[64827,1,"ظم"],[[64828,64829],1,"اً"],[[64830,64831],2],[[64832,64847],3],[64848,1,"تجم"],[[64849,64850],1,"تحج"],[64851,1,"تحم"],[64852,1,"تخم"],[64853,1,"تمج"],[64854,1,"تمح"],[64855,1,"تمخ"],[[64856,64857],1,"جمح"],[64858,1,"حمي"],[64859,1,"حمى"],[64860,1,"سحج"],[64861,1,"سجح"],[64862,1,"سجى"],[[64863,64864],1,"سمح"],[64865,1,"سمج"],[[64866,64867],1,"سمم"],[[64868,64869],1,"صحح"],[64870,1,"صمم"],[[64871,64872],1,"شحم"],[64873,1,"شجي"],[[64874,64875],1,"شمخ"],[[64876,64877],1,"شمم"],[64878,1,"ضحى"],[[64879,64880],1,"ضخم"],[[64881,64882],1,"طمح"],[64883,1,"طمم"],[64884,1,"طمي"],[64885,1,"عجم"],[[64886,64887],1,"عمم"],[64888,1,"عمى"],[64889,1,"غمم"],[64890,1,"غمي"],[64891,1,"غمى"],[[64892,64893],1,"فخم"],[64894,1,"قمح"],[64895,1,"قمم"],[64896,1,"لحم"],[64897,1,"لحي"],[64898,1,"لحى"],[[64899,64900],1,"لجج"],[[64901,64902],1,"لخم"],[[64903,64904],1,"لمح"],[64905,1,"محج"],[64906,1,"محم"],[64907,1,"محي"],[64908,1,"مجح"],[64909,1,"مجم"],[64910,1,"مخج"],[64911,1,"مخم"],[[64912,64913],3],[64914,1,"مجخ"],[64915,1,"همج"],[64916,1,"همم"],[64917,1,"نحم"],[64918,1,"نحى"],[[64919,64920],1,"نجم"],[64921,1,"نجى"],[64922,1,"نمي"],[64923,1,"نمى"],[[64924,64925],1,"يمم"],[64926,1,"بخي"],[64927,1,"تجي"],[64928,1,"تجى"],[64929,1,"تخي"],[64930,1,"تخى"],[64931,1,"تمي"],[64932,1,"تمى"],[64933,1,"جمي"],[64934,1,"جحى"],[64935,1,"جمى"],[64936,1,"سخى"],[64937,1,"صحي"],[64938,1,"شحي"],[64939,1,"ضحي"],[64940,1,"لجي"],[64941,1,"لمي"],[64942,1,"يحي"],[64943,1,"يجي"],[64944,1,"يمي"],[64945,1,"ممي"],[64946,1,"قمي"],[64947,1,"نحي"],[64948,1,"قمح"],[64949,1,"لحم"],[64950,1,"عمي"],[64951,1,"كمي"],[64952,1,"نجح"],[64953,1,"مخي"],[64954,1,"لجم"],[64955,1,"كمم"],[64956,1,"لجم"],[64957,1,"نجح"],[64958,1,"جحي"],[64959,1,"حجي"],[64960,1,"مجي"],[64961,1,"فمي"],[64962,1,"بحي"],[64963,1,"كمم"],[64964,1,"عجم"],[64965,1,"صمم"],[64966,1,"سخي"],[64967,1,"نجي"],[[64968,64975],3],[[64976,65007],3],[65008,1,"صلے"],[65009,1,"قلے"],[65010,1,"الله"],[65011,1,"اكبر"],[65012,1,"محمد"],[65013,1,"صلعم"],[65014,1,"رسول"],[65015,1,"عليه"],[65016,1,"وسلم"],[65017,1,"صلى"],[65018,5,"صلى الله عليه وسلم"],[65019,5,"جل جلاله"],[65020,1,"ریال"],[65021,2],[[65022,65023],3],[[65024,65039],7],[65040,5,","],[65041,1,"、"],[65042,3],[65043,5,":"],[65044,5,";"],[65045,5,"!"],[65046,5,"?"],[65047,1,"〖"],[65048,1,"〗"],[65049,3],[[65050,65055],3],[[65056,65059],2],[[65060,65062],2],[[65063,65069],2],[[65070,65071],2],[65072,3],[65073,1,"—"],[65074,1,"–"],[[65075,65076],5,"_"],[65077,5,"("],[65078,5,")"],[65079,5,"{"],[65080,5,"}"],[65081,1,"〔"],[65082,1,"〕"],[65083,1,"【"],[65084,1,"】"],[65085,1,"《"],[65086,1,"》"],[65087,1,"〈"],[65088,1,"〉"],[65089,1,"「"],[65090,1,"」"],[65091,1,"『"],[65092,1,"』"],[[65093,65094],2],[65095,5,"["],[65096,5,"]"],[[65097,65100],5," ̅"],[[65101,65103],5,"_"],[65104,5,","],[65105,1,"、"],[65106,3],[65107,3],[65108,5,";"],[65109,5,":"],[65110,5,"?"],[65111,5,"!"],[65112,1,"—"],[65113,5,"("],[65114,5,")"],[65115,5,"{"],[65116,5,"}"],[65117,1,"〔"],[65118,1,"〕"],[65119,5,"#"],[65120,5,"&"],[65121,5,"*"],[65122,5,"+"],[65123,1,"-"],[65124,5,"<"],[65125,5,">"],[65126,5,"="],[65127,3],[65128,5,"\\"],[65129,5,"$"],[65130,5,"%"],[65131,5,"@"],[[65132,65135],3],[65136,5," ً"],[65137,1,"ـً"],[65138,5," ٌ"],[65139,2],[65140,5," ٍ"],[65141,3],[65142,5," َ"],[65143,1,"ـَ"],[65144,5," ُ"],[65145,1,"ـُ"],[65146,5," ِ"],[65147,1,"ـِ"],[65148,5," ّ"],[65149,1,"ـّ"],[65150,5," ْ"],[65151,1,"ـْ"],[65152,1,"ء"],[[65153,65154],1,"آ"],[[65155,65156],1,"أ"],[[65157,65158],1,"ؤ"],[[65159,65160],1,"إ"],[[65161,65164],1,"ئ"],[[65165,65166],1,"ا"],[[65167,65170],1,"ب"],[[65171,65172],1,"ة"],[[65173,65176],1,"ت"],[[65177,65180],1,"ث"],[[65181,65184],1,"ج"],[[65185,65188],1,"ح"],[[65189,65192],1,"خ"],[[65193,65194],1,"د"],[[65195,65196],1,"ذ"],[[65197,65198],1,"ر"],[[65199,65200],1,"ز"],[[65201,65204],1,"س"],[[65205,65208],1,"ش"],[[65209,65212],1,"ص"],[[65213,65216],1,"ض"],[[65217,65220],1,"ط"],[[65221,65224],1,"ظ"],[[65225,65228],1,"ع"],[[65229,65232],1,"غ"],[[65233,65236],1,"ف"],[[65237,65240],1,"ق"],[[65241,65244],1,"ك"],[[65245,65248],1,"ل"],[[65249,65252],1,"م"],[[65253,65256],1,"ن"],[[65257,65260],1,"ه"],[[65261,65262],1,"و"],[[65263,65264],1,"ى"],[[65265,65268],1,"ي"],[[65269,65270],1,"لآ"],[[65271,65272],1,"لأ"],[[65273,65274],1,"لإ"],[[65275,65276],1,"لا"],[[65277,65278],3],[65279,7],[65280,3],[65281,5,"!"],[65282,5,"\""],[65283,5,"#"],[65284,5,"$"],[65285,5,"%"],[65286,5,"&"],[65287,5,"'"],[65288,5,"("],[65289,5,")"],[65290,5,"*"],[65291,5,"+"],[65292,5,","],[65293,1,"-"],[65294,1,"."],[65295,5,"/"],[65296,1,"0"],[65297,1,"1"],[65298,1,"2"],[65299,1,"3"],[65300,1,"4"],[65301,1,"5"],[65302,1,"6"],[65303,1,"7"],[65304,1,"8"],[65305,1,"9"],[65306,5,":"],[65307,5,";"],[65308,5,"<"],[65309,5,"="],[65310,5,">"],[65311,5,"?"],[65312,5,"@"],[65313,1,"a"],[65314,1,"b"],[65315,1,"c"],[65316,1,"d"],[65317,1,"e"],[65318,1,"f"],[65319,1,"g"],[65320,1,"h"],[65321,1,"i"],[65322,1,"j"],[65323,1,"k"],[65324,1,"l"],[65325,1,"m"],[65326,1,"n"],[65327,1,"o"],[65328,1,"p"],[65329,1,"q"],[65330,1,"r"],[65331,1,"s"],[65332,1,"t"],[65333,1,"u"],[65334,1,"v"],[65335,1,"w"],[65336,1,"x"],[65337,1,"y"],[65338,1,"z"],[65339,5,"["],[65340,5,"\\"],[65341,5,"]"],[65342,5,"^"],[65343,5,"_"],[65344,5,"`"],[65345,1,"a"],[65346,1,"b"],[65347,1,"c"],[65348,1,"d"],[65349,1,"e"],[65350,1,"f"],[65351,1,"g"],[65352,1,"h"],[65353,1,"i"],[65354,1,"j"],[65355,1,"k"],[65356,1,"l"],[65357,1,"m"],[65358,1,"n"],[65359,1,"o"],[65360,1,"p"],[65361,1,"q"],[65362,1,"r"],[65363,1,"s"],[65364,1,"t"],[65365,1,"u"],[65366,1,"v"],[65367,1,"w"],[65368,1,"x"],[65369,1,"y"],[65370,1,"z"],[65371,5,"{"],[65372,5,"|"],[65373,5,"}"],[65374,5,"~"],[65375,1,"⦅"],[65376,1,"⦆"],[65377,1,"."],[65378,1,"「"],[65379,1,"」"],[65380,1,"、"],[65381,1,"・"],[65382,1,"ヲ"],[65383,1,"ァ"],[65384,1,"ィ"],[65385,1,"ゥ"],[65386,1,"ェ"],[65387,1,"ォ"],[65388,1,"ャ"],[65389,1,"ュ"],[65390,1,"ョ"],[65391,1,"ッ"],[65392,1,"ー"],[65393,1,"ア"],[65394,1,"イ"],[65395,1,"ウ"],[65396,1,"エ"],[65397,1,"オ"],[65398,1,"カ"],[65399,1,"キ"],[65400,1,"ク"],[65401,1,"ケ"],[65402,1,"コ"],[65403,1,"サ"],[65404,1,"シ"],[65405,1,"ス"],[65406,1,"セ"],[65407,1,"ソ"],[65408,1,"タ"],[65409,1,"チ"],[65410,1,"ツ"],[65411,1,"テ"],[65412,1,"ト"],[65413,1,"ナ"],[65414,1,"ニ"],[65415,1,"ヌ"],[65416,1,"ネ"],[65417,1,"ノ"],[65418,1,"ハ"],[65419,1,"ヒ"],[65420,1,"フ"],[65421,1,"ヘ"],[65422,1,"ホ"],[65423,1,"マ"],[65424,1,"ミ"],[65425,1,"ム"],[65426,1,"メ"],[65427,1,"モ"],[65428,1,"ヤ"],[65429,1,"ユ"],[65430,1,"ヨ"],[65431,1,"ラ"],[65432,1,"リ"],[65433,1,"ル"],[65434,1,"レ"],[65435,1,"ロ"],[65436,1,"ワ"],[65437,1,"ン"],[65438,1,"゙"],[65439,1,"゚"],[65440,3],[65441,1,"ᄀ"],[65442,1,"ᄁ"],[65443,1,"ᆪ"],[65444,1,"ᄂ"],[65445,1,"ᆬ"],[65446,1,"ᆭ"],[65447,1,"ᄃ"],[65448,1,"ᄄ"],[65449,1,"ᄅ"],[65450,1,"ᆰ"],[65451,1,"ᆱ"],[65452,1,"ᆲ"],[65453,1,"ᆳ"],[65454,1,"ᆴ"],[65455,1,"ᆵ"],[65456,1,"ᄚ"],[65457,1,"ᄆ"],[65458,1,"ᄇ"],[65459,1,"ᄈ"],[65460,1,"ᄡ"],[65461,1,"ᄉ"],[65462,1,"ᄊ"],[65463,1,"ᄋ"],[65464,1,"ᄌ"],[65465,1,"ᄍ"],[65466,1,"ᄎ"],[65467,1,"ᄏ"],[65468,1,"ᄐ"],[65469,1,"ᄑ"],[65470,1,"ᄒ"],[[65471,65473],3],[65474,1,"ᅡ"],[65475,1,"ᅢ"],[65476,1,"ᅣ"],[65477,1,"ᅤ"],[65478,1,"ᅥ"],[65479,1,"ᅦ"],[[65480,65481],3],[65482,1,"ᅧ"],[65483,1,"ᅨ"],[65484,1,"ᅩ"],[65485,1,"ᅪ"],[65486,1,"ᅫ"],[65487,1,"ᅬ"],[[65488,65489],3],[65490,1,"ᅭ"],[65491,1,"ᅮ"],[65492,1,"ᅯ"],[65493,1,"ᅰ"],[65494,1,"ᅱ"],[65495,1,"ᅲ"],[[65496,65497],3],[65498,1,"ᅳ"],[65499,1,"ᅴ"],[65500,1,"ᅵ"],[[65501,65503],3],[65504,1,"¢"],[65505,1,"£"],[65506,1,"¬"],[65507,5," ̄"],[65508,1,"¦"],[65509,1,"¥"],[65510,1,"₩"],[65511,3],[65512,1,"│"],[65513,1,"←"],[65514,1,"↑"],[65515,1,"→"],[65516,1,"↓"],[65517,1,"■"],[65518,1,"○"],[[65519,65528],3],[[65529,65531],3],[65532,3],[65533,3],[[65534,65535],3],[[65536,65547],2],[65548,3],[[65549,65574],2],[65575,3],[[65576,65594],2],[65595,3],[[65596,65597],2],[65598,3],[[65599,65613],2],[[65614,65615],3],[[65616,65629],2],[[65630,65663],3],[[65664,65786],2],[[65787,65791],3],[[65792,65794],2],[[65795,65798],3],[[65799,65843],2],[[65844,65846],3],[[65847,65855],2],[[65856,65930],2],[[65931,65932],2],[[65933,65934],2],[65935,3],[[65936,65947],2],[65948,2],[[65949,65951],3],[65952,2],[[65953,65999],3],[[66000,66044],2],[66045,2],[[66046,66175],3],[[66176,66204],2],[[66205,66207],3],[[66208,66256],2],[[66257,66271],3],[66272,2],[[66273,66299],2],[[66300,66303],3],[[66304,66334],2],[66335,2],[[66336,66339],2],[[66340,66348],3],[[66349,66351],2],[[66352,66368],2],[66369,2],[[66370,66377],2],[66378,2],[[66379,66383],3],[[66384,66426],2],[[66427,66431],3],[[66432,66461],2],[66462,3],[66463,2],[[66464,66499],2],[[66500,66503],3],[[66504,66511],2],[[66512,66517],2],[[66518,66559],3],[66560,1,"𐐨"],[66561,1,"𐐩"],[66562,1,"𐐪"],[66563,1,"𐐫"],[66564,1,"𐐬"],[66565,1,"𐐭"],[66566,1,"𐐮"],[66567,1,"𐐯"],[66568,1,"𐐰"],[66569,1,"𐐱"],[66570,1,"𐐲"],[66571,1,"𐐳"],[66572,1,"𐐴"],[66573,1,"𐐵"],[66574,1,"𐐶"],[66575,1,"𐐷"],[66576,1,"𐐸"],[66577,1,"𐐹"],[66578,1,"𐐺"],[66579,1,"𐐻"],[66580,1,"𐐼"],[66581,1,"𐐽"],[66582,1,"𐐾"],[66583,1,"𐐿"],[66584,1,"𐑀"],[66585,1,"𐑁"],[66586,1,"𐑂"],[66587,1,"𐑃"],[66588,1,"𐑄"],[66589,1,"𐑅"],[66590,1,"𐑆"],[66591,1,"𐑇"],[66592,1,"𐑈"],[66593,1,"𐑉"],[66594,1,"𐑊"],[66595,1,"𐑋"],[66596,1,"𐑌"],[66597,1,"𐑍"],[66598,1,"𐑎"],[66599,1,"𐑏"],[[66600,66637],2],[[66638,66717],2],[[66718,66719],3],[[66720,66729],2],[[66730,66735],3],[66736,1,"𐓘"],[66737,1,"𐓙"],[66738,1,"𐓚"],[66739,1,"𐓛"],[66740,1,"𐓜"],[66741,1,"𐓝"],[66742,1,"𐓞"],[66743,1,"𐓟"],[66744,1,"𐓠"],[66745,1,"𐓡"],[66746,1,"𐓢"],[66747,1,"𐓣"],[66748,1,"𐓤"],[66749,1,"𐓥"],[66750,1,"𐓦"],[66751,1,"𐓧"],[66752,1,"𐓨"],[66753,1,"𐓩"],[66754,1,"𐓪"],[66755,1,"𐓫"],[66756,1,"𐓬"],[66757,1,"𐓭"],[66758,1,"𐓮"],[66759,1,"𐓯"],[66760,1,"𐓰"],[66761,1,"𐓱"],[66762,1,"𐓲"],[66763,1,"𐓳"],[66764,1,"𐓴"],[66765,1,"𐓵"],[66766,1,"𐓶"],[66767,1,"𐓷"],[66768,1,"𐓸"],[66769,1,"𐓹"],[66770,1,"𐓺"],[66771,1,"𐓻"],[[66772,66775],3],[[66776,66811],2],[[66812,66815],3],[[66816,66855],2],[[66856,66863],3],[[66864,66915],2],[[66916,66926],3],[66927,2],[[66928,67071],3],[[67072,67382],2],[[67383,67391],3],[[67392,67413],2],[[67414,67423],3],[[67424,67431],2],[[67432,67583],3],[[67584,67589],2],[[67590,67591],3],[67592,2],[67593,3],[[67594,67637],2],[67638,3],[[67639,67640],2],[[67641,67643],3],[67644,2],[[67645,67646],3],[67647,2],[[67648,67669],2],[67670,3],[[67671,67679],2],[[67680,67702],2],[[67703,67711],2],[[67712,67742],2],[[67743,67750],3],[[67751,67759],2],[[67760,67807],3],[[67808,67826],2],[67827,3],[[67828,67829],2],[[67830,67834],3],[[67835,67839],2],[[67840,67861],2],[[67862,67865],2],[[67866,67867],2],[[67868,67870],3],[67871,2],[[67872,67897],2],[[67898,67902],3],[67903,2],[[67904,67967],3],[[67968,68023],2],[[68024,68027],3],[[68028,68029],2],[[68030,68031],2],[[68032,68047],2],[[68048,68049],3],[[68050,68095],2],[[68096,68099],2],[68100,3],[[68101,68102],2],[[68103,68107],3],[[68108,68115],2],[68116,3],[[68117,68119],2],[68120,3],[[68121,68147],2],[[68148,68149],2],[[68150,68151],3],[[68152,68154],2],[[68155,68158],3],[68159,2],[[68160,68167],2],[68168,2],[[68169,68175],3],[[68176,68184],2],[[68185,68191],3],[[68192,68220],2],[[68221,68223],2],[[68224,68252],2],[[68253,68255],2],[[68256,68287],3],[[68288,68295],2],[68296,2],[[68297,68326],2],[[68327,68330],3],[[68331,68342],2],[[68343,68351],3],[[68352,68405],2],[[68406,68408],3],[[68409,68415],2],[[68416,68437],2],[[68438,68439],3],[[68440,68447],2],[[68448,68466],2],[[68467,68471],3],[[68472,68479],2],[[68480,68497],2],[[68498,68504],3],[[68505,68508],2],[[68509,68520],3],[[68521,68527],2],[[68528,68607],3],[[68608,68680],2],[[68681,68735],3],[68736,1,"𐳀"],[68737,1,"𐳁"],[68738,1,"𐳂"],[68739,1,"𐳃"],[68740,1,"𐳄"],[68741,1,"𐳅"],[68742,1,"𐳆"],[68743,1,"𐳇"],[68744,1,"𐳈"],[68745,1,"𐳉"],[68746,1,"𐳊"],[68747,1,"𐳋"],[68748,1,"𐳌"],[68749,1,"𐳍"],[68750,1,"𐳎"],[68751,1,"𐳏"],[68752,1,"𐳐"],[68753,1,"𐳑"],[68754,1,"𐳒"],[68755,1,"𐳓"],[68756,1,"𐳔"],[68757,1,"𐳕"],[68758,1,"𐳖"],[68759,1,"𐳗"],[68760,1,"𐳘"],[68761,1,"𐳙"],[68762,1,"𐳚"],[68763,1,"𐳛"],[68764,1,"𐳜"],[68765,1,"𐳝"],[68766,1,"𐳞"],[68767,1,"𐳟"],[68768,1,"𐳠"],[68769,1,"𐳡"],[68770,1,"𐳢"],[68771,1,"𐳣"],[68772,1,"𐳤"],[68773,1,"𐳥"],[68774,1,"𐳦"],[68775,1,"𐳧"],[68776,1,"𐳨"],[68777,1,"𐳩"],[68778,1,"𐳪"],[68779,1,"𐳫"],[68780,1,"𐳬"],[68781,1,"𐳭"],[68782,1,"𐳮"],[68783,1,"𐳯"],[68784,1,"𐳰"],[68785,1,"𐳱"],[68786,1,"𐳲"],[[68787,68799],3],[[68800,68850],2],[[68851,68857],3],[[68858,68863],2],[[68864,68903],2],[[68904,68911],3],[[68912,68921],2],[[68922,69215],3],[[69216,69246],2],[69247,3],[[69248,69289],2],[69290,3],[[69291,69292],2],[69293,2],[[69294,69295],3],[[69296,69297],2],[[69298,69375],3],[[69376,69404],2],[[69405,69414],2],[69415,2],[[69416,69423],3],[[69424,69456],2],[[69457,69465],2],[[69466,69551],3],[[69552,69572],2],[[69573,69579],2],[[69580,69599],3],[[69600,69622],2],[[69623,69631],3],[[69632,69702],2],[[69703,69709],2],[[69710,69713],3],[[69714,69733],2],[[69734,69743],2],[[69744,69758],3],[69759,2],[[69760,69818],2],[[69819,69820],2],[69821,3],[[69822,69825],2],[[69826,69836],3],[69837,3],[[69838,69839],3],[[69840,69864],2],[[69865,69871],3],[[69872,69881],2],[[69882,69887],3],[[69888,69940],2],[69941,3],[[69942,69951],2],[[69952,69955],2],[[69956,69958],2],[69959,2],[[69960,69967],3],[[69968,70003],2],[[70004,70005],2],[70006,2],[[70007,70015],3],[[70016,70084],2],[[70085,70088],2],[[70089,70092],2],[70093,2],[[70094,70095],2],[[70096,70105],2],[70106,2],[70107,2],[70108,2],[[70109,70111],2],[70112,3],[[70113,70132],2],[[70133,70143],3],[[70144,70161],2],[70162,3],[[70163,70199],2],[[70200,70205],2],[70206,2],[[70207,70271],3],[[70272,70278],2],[70279,3],[70280,2],[70281,3],[[70282,70285],2],[70286,3],[[70287,70301],2],[70302,3],[[70303,70312],2],[70313,2],[[70314,70319],3],[[70320,70378],2],[[70379,70383],3],[[70384,70393],2],[[70394,70399],3],[70400,2],[[70401,70403],2],[70404,3],[[70405,70412],2],[[70413,70414],3],[[70415,70416],2],[[70417,70418],3],[[70419,70440],2],[70441,3],[[70442,70448],2],[70449,3],[[70450,70451],2],[70452,3],[[70453,70457],2],[70458,3],[70459,2],[[70460,70468],2],[[70469,70470],3],[[70471,70472],2],[[70473,70474],3],[[70475,70477],2],[[70478,70479],3],[70480,2],[[70481,70486],3],[70487,2],[[70488,70492],3],[[70493,70499],2],[[70500,70501],3],[[70502,70508],2],[[70509,70511],3],[[70512,70516],2],[[70517,70655],3],[[70656,70730],2],[[70731,70735],2],[[70736,70745],2],[70746,2],[70747,2],[70748,3],[70749,2],[70750,2],[70751,2],[[70752,70753],2],[[70754,70783],3],[[70784,70853],2],[70854,2],[70855,2],[[70856,70863],3],[[70864,70873],2],[[70874,71039],3],[[71040,71093],2],[[71094,71095],3],[[71096,71104],2],[[71105,71113],2],[[71114,71127],2],[[71128,71133],2],[[71134,71167],3],[[71168,71232],2],[[71233,71235],2],[71236,2],[[71237,71247],3],[[71248,71257],2],[[71258,71263],3],[[71264,71276],2],[[71277,71295],3],[[71296,71351],2],[71352,2],[[71353,71359],3],[[71360,71369],2],[[71370,71423],3],[[71424,71449],2],[71450,2],[[71451,71452],3],[[71453,71467],2],[[71468,71471],3],[[71472,71481],2],[[71482,71487],2],[[71488,71679],3],[[71680,71738],2],[71739,2],[[71740,71839],3],[71840,1,"𑣀"],[71841,1,"𑣁"],[71842,1,"𑣂"],[71843,1,"𑣃"],[71844,1,"𑣄"],[71845,1,"𑣅"],[71846,1,"𑣆"],[71847,1,"𑣇"],[71848,1,"𑣈"],[71849,1,"𑣉"],[71850,1,"𑣊"],[71851,1,"𑣋"],[71852,1,"𑣌"],[71853,1,"𑣍"],[71854,1,"𑣎"],[71855,1,"𑣏"],[71856,1,"𑣐"],[71857,1,"𑣑"],[71858,1,"𑣒"],[71859,1,"𑣓"],[71860,1,"𑣔"],[71861,1,"𑣕"],[71862,1,"𑣖"],[71863,1,"𑣗"],[71864,1,"𑣘"],[71865,1,"𑣙"],[71866,1,"𑣚"],[71867,1,"𑣛"],[71868,1,"𑣜"],[71869,1,"𑣝"],[71870,1,"𑣞"],[71871,1,"𑣟"],[[71872,71913],2],[[71914,71922],2],[[71923,71934],3],[71935,2],[[71936,71942],2],[[71943,71944],3],[71945,2],[[71946,71947],3],[[71948,71955],2],[71956,3],[[71957,71958],2],[71959,3],[[71960,71989],2],[71990,3],[[71991,71992],2],[[71993,71994],3],[[71995,72003],2],[[72004,72006],2],[[72007,72015],3],[[72016,72025],2],[[72026,72095],3],[[72096,72103],2],[[72104,72105],3],[[72106,72151],2],[[72152,72153],3],[[72154,72161],2],[72162,2],[[72163,72164],2],[[72165,72191],3],[[72192,72254],2],[[72255,72262],2],[72263,2],[[72264,72271],3],[[72272,72323],2],[[72324,72325],2],[[72326,72345],2],[[72346,72348],2],[72349,2],[[72350,72354],2],[[72355,72383],3],[[72384,72440],2],[[72441,72703],3],[[72704,72712],2],[72713,3],[[72714,72758],2],[72759,3],[[72760,72768],2],[[72769,72773],2],[[72774,72783],3],[[72784,72793],2],[[72794,72812],2],[[72813,72815],3],[[72816,72817],2],[[72818,72847],2],[[72848,72849],3],[[72850,72871],2],[72872,3],[[72873,72886],2],[[72887,72959],3],[[72960,72966],2],[72967,3],[[72968,72969],2],[72970,3],[[72971,73014],2],[[73015,73017],3],[73018,2],[73019,3],[[73020,73021],2],[73022,3],[[73023,73031],2],[[73032,73039],3],[[73040,73049],2],[[73050,73055],3],[[73056,73061],2],[73062,3],[[73063,73064],2],[73065,3],[[73066,73102],2],[73103,3],[[73104,73105],2],[73106,3],[[73107,73112],2],[[73113,73119],3],[[73120,73129],2],[[73130,73439],3],[[73440,73462],2],[[73463,73464],2],[[73465,73647],3],[73648,2],[[73649,73663],3],[[73664,73713],2],[[73714,73726],3],[73727,2],[[73728,74606],2],[[74607,74648],2],[74649,2],[[74650,74751],3],[[74752,74850],2],[[74851,74862],2],[74863,3],[[74864,74867],2],[74868,2],[[74869,74879],3],[[74880,75075],2],[[75076,77823],3],[[77824,78894],2],[78895,3],[[78896,78904],3],[[78905,82943],3],[[82944,83526],2],[[83527,92159],3],[[92160,92728],2],[[92729,92735],3],[[92736,92766],2],[92767,3],[[92768,92777],2],[[92778,92781],3],[[92782,92783],2],[[92784,92879],3],[[92880,92909],2],[[92910,92911],3],[[92912,92916],2],[92917,2],[[92918,92927],3],[[92928,92982],2],[[92983,92991],2],[[92992,92995],2],[[92996,92997],2],[[92998,93007],3],[[93008,93017],2],[93018,3],[[93019,93025],2],[93026,3],[[93027,93047],2],[[93048,93052],3],[[93053,93071],2],[[93072,93759],3],[93760,1,"𖹠"],[93761,1,"𖹡"],[93762,1,"𖹢"],[93763,1,"𖹣"],[93764,1,"𖹤"],[93765,1,"𖹥"],[93766,1,"𖹦"],[93767,1,"𖹧"],[93768,1,"𖹨"],[93769,1,"𖹩"],[93770,1,"𖹪"],[93771,1,"𖹫"],[93772,1,"𖹬"],[93773,1,"𖹭"],[93774,1,"𖹮"],[93775,1,"𖹯"],[93776,1,"𖹰"],[93777,1,"𖹱"],[93778,1,"𖹲"],[93779,1,"𖹳"],[93780,1,"𖹴"],[93781,1,"𖹵"],[93782,1,"𖹶"],[93783,1,"𖹷"],[93784,1,"𖹸"],[93785,1,"𖹹"],[93786,1,"𖹺"],[93787,1,"𖹻"],[93788,1,"𖹼"],[93789,1,"𖹽"],[93790,1,"𖹾"],[93791,1,"𖹿"],[[93792,93823],2],[[93824,93850],2],[[93851,93951],3],[[93952,94020],2],[[94021,94026],2],[[94027,94030],3],[94031,2],[[94032,94078],2],[[94079,94087],2],[[94088,94094],3],[[94095,94111],2],[[94112,94175],3],[94176,2],[94177,2],[94178,2],[94179,2],[94180,2],[[94181,94191],3],[[94192,94193],2],[[94194,94207],3],[[94208,100332],2],[[100333,100337],2],[[100338,100343],2],[[100344,100351],3],[[100352,101106],2],[[101107,101589],2],[[101590,101631],3],[[101632,101640],2],[[101641,110591],3],[[110592,110593],2],[[110594,110878],2],[[110879,110927],3],[[110928,110930],2],[[110931,110947],3],[[110948,110951],2],[[110952,110959],3],[[110960,111355],2],[[111356,113663],3],[[113664,113770],2],[[113771,113775],3],[[113776,113788],2],[[113789,113791],3],[[113792,113800],2],[[113801,113807],3],[[113808,113817],2],[[113818,113819],3],[113820,2],[[113821,113822],2],[113823,2],[[113824,113827],7],[[113828,118783],3],[[118784,119029],2],[[119030,119039],3],[[119040,119078],2],[[119079,119080],3],[119081,2],[[119082,119133],2],[119134,1,"𝅗𝅥"],[119135,1,"𝅘𝅥"],[119136,1,"𝅘𝅥𝅮"],[119137,1,"𝅘𝅥𝅯"],[119138,1,"𝅘𝅥𝅰"],[119139,1,"𝅘𝅥𝅱"],[119140,1,"𝅘𝅥𝅲"],[[119141,119154],2],[[119155,119162],3],[[119163,119226],2],[119227,1,"𝆹𝅥"],[119228,1,"𝆺𝅥"],[119229,1,"𝆹𝅥𝅮"],[119230,1,"𝆺𝅥𝅮"],[119231,1,"𝆹𝅥𝅯"],[119232,1,"𝆺𝅥𝅯"],[[119233,119261],2],[[119262,119272],2],[[119273,119295],3],[[119296,119365],2],[[119366,119519],3],[[119520,119539],2],[[119540,119551],3],[[119552,119638],2],[[119639,119647],3],[[119648,119665],2],[[119666,119672],2],[[119673,119807],3],[119808,1,"a"],[119809,1,"b"],[119810,1,"c"],[119811,1,"d"],[119812,1,"e"],[119813,1,"f"],[119814,1,"g"],[119815,1,"h"],[119816,1,"i"],[119817,1,"j"],[119818,1,"k"],[119819,1,"l"],[119820,1,"m"],[119821,1,"n"],[119822,1,"o"],[119823,1,"p"],[119824,1,"q"],[119825,1,"r"],[119826,1,"s"],[119827,1,"t"],[119828,1,"u"],[119829,1,"v"],[119830,1,"w"],[119831,1,"x"],[119832,1,"y"],[119833,1,"z"],[119834,1,"a"],[119835,1,"b"],[119836,1,"c"],[119837,1,"d"],[119838,1,"e"],[119839,1,"f"],[119840,1,"g"],[119841,1,"h"],[119842,1,"i"],[119843,1,"j"],[119844,1,"k"],[119845,1,"l"],[119846,1,"m"],[119847,1,"n"],[119848,1,"o"],[119849,1,"p"],[119850,1,"q"],[119851,1,"r"],[119852,1,"s"],[119853,1,"t"],[119854,1,"u"],[119855,1,"v"],[119856,1,"w"],[119857,1,"x"],[119858,1,"y"],[119859,1,"z"],[119860,1,"a"],[119861,1,"b"],[119862,1,"c"],[119863,1,"d"],[119864,1,"e"],[119865,1,"f"],[119866,1,"g"],[119867,1,"h"],[119868,1,"i"],[119869,1,"j"],[119870,1,"k"],[119871,1,"l"],[119872,1,"m"],[119873,1,"n"],[119874,1,"o"],[119875,1,"p"],[119876,1,"q"],[119877,1,"r"],[119878,1,"s"],[119879,1,"t"],[119880,1,"u"],[119881,1,"v"],[119882,1,"w"],[119883,1,"x"],[119884,1,"y"],[119885,1,"z"],[119886,1,"a"],[119887,1,"b"],[119888,1,"c"],[119889,1,"d"],[119890,1,"e"],[119891,1,"f"],[119892,1,"g"],[119893,3],[119894,1,"i"],[119895,1,"j"],[119896,1,"k"],[119897,1,"l"],[119898,1,"m"],[119899,1,"n"],[119900,1,"o"],[119901,1,"p"],[119902,1,"q"],[119903,1,"r"],[119904,1,"s"],[119905,1,"t"],[119906,1,"u"],[119907,1,"v"],[119908,1,"w"],[119909,1,"x"],[119910,1,"y"],[119911,1,"z"],[119912,1,"a"],[119913,1,"b"],[119914,1,"c"],[119915,1,"d"],[119916,1,"e"],[119917,1,"f"],[119918,1,"g"],[119919,1,"h"],[119920,1,"i"],[119921,1,"j"],[119922,1,"k"],[119923,1,"l"],[119924,1,"m"],[119925,1,"n"],[119926,1,"o"],[119927,1,"p"],[119928,1,"q"],[119929,1,"r"],[119930,1,"s"],[119931,1,"t"],[119932,1,"u"],[119933,1,"v"],[119934,1,"w"],[119935,1,"x"],[119936,1,"y"],[119937,1,"z"],[119938,1,"a"],[119939,1,"b"],[119940,1,"c"],[119941,1,"d"],[119942,1,"e"],[119943,1,"f"],[119944,1,"g"],[119945,1,"h"],[119946,1,"i"],[119947,1,"j"],[119948,1,"k"],[119949,1,"l"],[119950,1,"m"],[119951,1,"n"],[119952,1,"o"],[119953,1,"p"],[119954,1,"q"],[119955,1,"r"],[119956,1,"s"],[119957,1,"t"],[119958,1,"u"],[119959,1,"v"],[119960,1,"w"],[119961,1,"x"],[119962,1,"y"],[119963,1,"z"],[119964,1,"a"],[119965,3],[119966,1,"c"],[119967,1,"d"],[[119968,119969],3],[119970,1,"g"],[[119971,119972],3],[119973,1,"j"],[119974,1,"k"],[[119975,119976],3],[119977,1,"n"],[119978,1,"o"],[119979,1,"p"],[119980,1,"q"],[119981,3],[119982,1,"s"],[119983,1,"t"],[119984,1,"u"],[119985,1,"v"],[119986,1,"w"],[119987,1,"x"],[119988,1,"y"],[119989,1,"z"],[119990,1,"a"],[119991,1,"b"],[119992,1,"c"],[119993,1,"d"],[119994,3],[119995,1,"f"],[119996,3],[119997,1,"h"],[119998,1,"i"],[119999,1,"j"],[120000,1,"k"],[120001,1,"l"],[120002,1,"m"],[120003,1,"n"],[120004,3],[120005,1,"p"],[120006,1,"q"],[120007,1,"r"],[120008,1,"s"],[120009,1,"t"],[120010,1,"u"],[120011,1,"v"],[120012,1,"w"],[120013,1,"x"],[120014,1,"y"],[120015,1,"z"],[120016,1,"a"],[120017,1,"b"],[120018,1,"c"],[120019,1,"d"],[120020,1,"e"],[120021,1,"f"],[120022,1,"g"],[120023,1,"h"],[120024,1,"i"],[120025,1,"j"],[120026,1,"k"],[120027,1,"l"],[120028,1,"m"],[120029,1,"n"],[120030,1,"o"],[120031,1,"p"],[120032,1,"q"],[120033,1,"r"],[120034,1,"s"],[120035,1,"t"],[120036,1,"u"],[120037,1,"v"],[120038,1,"w"],[120039,1,"x"],[120040,1,"y"],[120041,1,"z"],[120042,1,"a"],[120043,1,"b"],[120044,1,"c"],[120045,1,"d"],[120046,1,"e"],[120047,1,"f"],[120048,1,"g"],[120049,1,"h"],[120050,1,"i"],[120051,1,"j"],[120052,1,"k"],[120053,1,"l"],[120054,1,"m"],[120055,1,"n"],[120056,1,"o"],[120057,1,"p"],[120058,1,"q"],[120059,1,"r"],[120060,1,"s"],[120061,1,"t"],[120062,1,"u"],[120063,1,"v"],[120064,1,"w"],[120065,1,"x"],[120066,1,"y"],[120067,1,"z"],[120068,1,"a"],[120069,1,"b"],[120070,3],[120071,1,"d"],[120072,1,"e"],[120073,1,"f"],[120074,1,"g"],[[120075,120076],3],[120077,1,"j"],[120078,1,"k"],[120079,1,"l"],[120080,1,"m"],[120081,1,"n"],[120082,1,"o"],[120083,1,"p"],[120084,1,"q"],[120085,3],[120086,1,"s"],[120087,1,"t"],[120088,1,"u"],[120089,1,"v"],[120090,1,"w"],[120091,1,"x"],[120092,1,"y"],[120093,3],[120094,1,"a"],[120095,1,"b"],[120096,1,"c"],[120097,1,"d"],[120098,1,"e"],[120099,1,"f"],[120100,1,"g"],[120101,1,"h"],[120102,1,"i"],[120103,1,"j"],[120104,1,"k"],[120105,1,"l"],[120106,1,"m"],[120107,1,"n"],[120108,1,"o"],[120109,1,"p"],[120110,1,"q"],[120111,1,"r"],[120112,1,"s"],[120113,1,"t"],[120114,1,"u"],[120115,1,"v"],[120116,1,"w"],[120117,1,"x"],[120118,1,"y"],[120119,1,"z"],[120120,1,"a"],[120121,1,"b"],[120122,3],[120123,1,"d"],[120124,1,"e"],[120125,1,"f"],[120126,1,"g"],[120127,3],[120128,1,"i"],[120129,1,"j"],[120130,1,"k"],[120131,1,"l"],[120132,1,"m"],[120133,3],[120134,1,"o"],[[120135,120137],3],[120138,1,"s"],[120139,1,"t"],[120140,1,"u"],[120141,1,"v"],[120142,1,"w"],[120143,1,"x"],[120144,1,"y"],[120145,3],[120146,1,"a"],[120147,1,"b"],[120148,1,"c"],[120149,1,"d"],[120150,1,"e"],[120151,1,"f"],[120152,1,"g"],[120153,1,"h"],[120154,1,"i"],[120155,1,"j"],[120156,1,"k"],[120157,1,"l"],[120158,1,"m"],[120159,1,"n"],[120160,1,"o"],[120161,1,"p"],[120162,1,"q"],[120163,1,"r"],[120164,1,"s"],[120165,1,"t"],[120166,1,"u"],[120167,1,"v"],[120168,1,"w"],[120169,1,"x"],[120170,1,"y"],[120171,1,"z"],[120172,1,"a"],[120173,1,"b"],[120174,1,"c"],[120175,1,"d"],[120176,1,"e"],[120177,1,"f"],[120178,1,"g"],[120179,1,"h"],[120180,1,"i"],[120181,1,"j"],[120182,1,"k"],[120183,1,"l"],[120184,1,"m"],[120185,1,"n"],[120186,1,"o"],[120187,1,"p"],[120188,1,"q"],[120189,1,"r"],[120190,1,"s"],[120191,1,"t"],[120192,1,"u"],[120193,1,"v"],[120194,1,"w"],[120195,1,"x"],[120196,1,"y"],[120197,1,"z"],[120198,1,"a"],[120199,1,"b"],[120200,1,"c"],[120201,1,"d"],[120202,1,"e"],[120203,1,"f"],[120204,1,"g"],[120205,1,"h"],[120206,1,"i"],[120207,1,"j"],[120208,1,"k"],[120209,1,"l"],[120210,1,"m"],[120211,1,"n"],[120212,1,"o"],[120213,1,"p"],[120214,1,"q"],[120215,1,"r"],[120216,1,"s"],[120217,1,"t"],[120218,1,"u"],[120219,1,"v"],[120220,1,"w"],[120221,1,"x"],[120222,1,"y"],[120223,1,"z"],[120224,1,"a"],[120225,1,"b"],[120226,1,"c"],[120227,1,"d"],[120228,1,"e"],[120229,1,"f"],[120230,1,"g"],[120231,1,"h"],[120232,1,"i"],[120233,1,"j"],[120234,1,"k"],[120235,1,"l"],[120236,1,"m"],[120237,1,"n"],[120238,1,"o"],[120239,1,"p"],[120240,1,"q"],[120241,1,"r"],[120242,1,"s"],[120243,1,"t"],[120244,1,"u"],[120245,1,"v"],[120246,1,"w"],[120247,1,"x"],[120248,1,"y"],[120249,1,"z"],[120250,1,"a"],[120251,1,"b"],[120252,1,"c"],[120253,1,"d"],[120254,1,"e"],[120255,1,"f"],[120256,1,"g"],[120257,1,"h"],[120258,1,"i"],[120259,1,"j"],[120260,1,"k"],[120261,1,"l"],[120262,1,"m"],[120263,1,"n"],[120264,1,"o"],[120265,1,"p"],[120266,1,"q"],[120267,1,"r"],[120268,1,"s"],[120269,1,"t"],[120270,1,"u"],[120271,1,"v"],[120272,1,"w"],[120273,1,"x"],[120274,1,"y"],[120275,1,"z"],[120276,1,"a"],[120277,1,"b"],[120278,1,"c"],[120279,1,"d"],[120280,1,"e"],[120281,1,"f"],[120282,1,"g"],[120283,1,"h"],[120284,1,"i"],[120285,1,"j"],[120286,1,"k"],[120287,1,"l"],[120288,1,"m"],[120289,1,"n"],[120290,1,"o"],[120291,1,"p"],[120292,1,"q"],[120293,1,"r"],[120294,1,"s"],[120295,1,"t"],[120296,1,"u"],[120297,1,"v"],[120298,1,"w"],[120299,1,"x"],[120300,1,"y"],[120301,1,"z"],[120302,1,"a"],[120303,1,"b"],[120304,1,"c"],[120305,1,"d"],[120306,1,"e"],[120307,1,"f"],[120308,1,"g"],[120309,1,"h"],[120310,1,"i"],[120311,1,"j"],[120312,1,"k"],[120313,1,"l"],[120314,1,"m"],[120315,1,"n"],[120316,1,"o"],[120317,1,"p"],[120318,1,"q"],[120319,1,"r"],[120320,1,"s"],[120321,1,"t"],[120322,1,"u"],[120323,1,"v"],[120324,1,"w"],[120325,1,"x"],[120326,1,"y"],[120327,1,"z"],[120328,1,"a"],[120329,1,"b"],[120330,1,"c"],[120331,1,"d"],[120332,1,"e"],[120333,1,"f"],[120334,1,"g"],[120335,1,"h"],[120336,1,"i"],[120337,1,"j"],[120338,1,"k"],[120339,1,"l"],[120340,1,"m"],[120341,1,"n"],[120342,1,"o"],[120343,1,"p"],[120344,1,"q"],[120345,1,"r"],[120346,1,"s"],[120347,1,"t"],[120348,1,"u"],[120349,1,"v"],[120350,1,"w"],[120351,1,"x"],[120352,1,"y"],[120353,1,"z"],[120354,1,"a"],[120355,1,"b"],[120356,1,"c"],[120357,1,"d"],[120358,1,"e"],[120359,1,"f"],[120360,1,"g"],[120361,1,"h"],[120362,1,"i"],[120363,1,"j"],[120364,1,"k"],[120365,1,"l"],[120366,1,"m"],[120367,1,"n"],[120368,1,"o"],[120369,1,"p"],[120370,1,"q"],[120371,1,"r"],[120372,1,"s"],[120373,1,"t"],[120374,1,"u"],[120375,1,"v"],[120376,1,"w"],[120377,1,"x"],[120378,1,"y"],[120379,1,"z"],[120380,1,"a"],[120381,1,"b"],[120382,1,"c"],[120383,1,"d"],[120384,1,"e"],[120385,1,"f"],[120386,1,"g"],[120387,1,"h"],[120388,1,"i"],[120389,1,"j"],[120390,1,"k"],[120391,1,"l"],[120392,1,"m"],[120393,1,"n"],[120394,1,"o"],[120395,1,"p"],[120396,1,"q"],[120397,1,"r"],[120398,1,"s"],[120399,1,"t"],[120400,1,"u"],[120401,1,"v"],[120402,1,"w"],[120403,1,"x"],[120404,1,"y"],[120405,1,"z"],[120406,1,"a"],[120407,1,"b"],[120408,1,"c"],[120409,1,"d"],[120410,1,"e"],[120411,1,"f"],[120412,1,"g"],[120413,1,"h"],[120414,1,"i"],[120415,1,"j"],[120416,1,"k"],[120417,1,"l"],[120418,1,"m"],[120419,1,"n"],[120420,1,"o"],[120421,1,"p"],[120422,1,"q"],[120423,1,"r"],[120424,1,"s"],[120425,1,"t"],[120426,1,"u"],[120427,1,"v"],[120428,1,"w"],[120429,1,"x"],[120430,1,"y"],[120431,1,"z"],[120432,1,"a"],[120433,1,"b"],[120434,1,"c"],[120435,1,"d"],[120436,1,"e"],[120437,1,"f"],[120438,1,"g"],[120439,1,"h"],[120440,1,"i"],[120441,1,"j"],[120442,1,"k"],[120443,1,"l"],[120444,1,"m"],[120445,1,"n"],[120446,1,"o"],[120447,1,"p"],[120448,1,"q"],[120449,1,"r"],[120450,1,"s"],[120451,1,"t"],[120452,1,"u"],[120453,1,"v"],[120454,1,"w"],[120455,1,"x"],[120456,1,"y"],[120457,1,"z"],[120458,1,"a"],[120459,1,"b"],[120460,1,"c"],[120461,1,"d"],[120462,1,"e"],[120463,1,"f"],[120464,1,"g"],[120465,1,"h"],[120466,1,"i"],[120467,1,"j"],[120468,1,"k"],[120469,1,"l"],[120470,1,"m"],[120471,1,"n"],[120472,1,"o"],[120473,1,"p"],[120474,1,"q"],[120475,1,"r"],[120476,1,"s"],[120477,1,"t"],[120478,1,"u"],[120479,1,"v"],[120480,1,"w"],[120481,1,"x"],[120482,1,"y"],[120483,1,"z"],[120484,1,"ı"],[120485,1,"ȷ"],[[120486,120487],3],[120488,1,"α"],[120489,1,"β"],[120490,1,"γ"],[120491,1,"δ"],[120492,1,"ε"],[120493,1,"ζ"],[120494,1,"η"],[120495,1,"θ"],[120496,1,"ι"],[120497,1,"κ"],[120498,1,"λ"],[120499,1,"μ"],[120500,1,"ν"],[120501,1,"ξ"],[120502,1,"ο"],[120503,1,"π"],[120504,1,"ρ"],[120505,1,"θ"],[120506,1,"σ"],[120507,1,"τ"],[120508,1,"υ"],[120509,1,"φ"],[120510,1,"χ"],[120511,1,"ψ"],[120512,1,"ω"],[120513,1,"∇"],[120514,1,"α"],[120515,1,"β"],[120516,1,"γ"],[120517,1,"δ"],[120518,1,"ε"],[120519,1,"ζ"],[120520,1,"η"],[120521,1,"θ"],[120522,1,"ι"],[120523,1,"κ"],[120524,1,"λ"],[120525,1,"μ"],[120526,1,"ν"],[120527,1,"ξ"],[120528,1,"ο"],[120529,1,"π"],[120530,1,"ρ"],[[120531,120532],1,"σ"],[120533,1,"τ"],[120534,1,"υ"],[120535,1,"φ"],[120536,1,"χ"],[120537,1,"ψ"],[120538,1,"ω"],[120539,1,"∂"],[120540,1,"ε"],[120541,1,"θ"],[120542,1,"κ"],[120543,1,"φ"],[120544,1,"ρ"],[120545,1,"π"],[120546,1,"α"],[120547,1,"β"],[120548,1,"γ"],[120549,1,"δ"],[120550,1,"ε"],[120551,1,"ζ"],[120552,1,"η"],[120553,1,"θ"],[120554,1,"ι"],[120555,1,"κ"],[120556,1,"λ"],[120557,1,"μ"],[120558,1,"ν"],[120559,1,"ξ"],[120560,1,"ο"],[120561,1,"π"],[120562,1,"ρ"],[120563,1,"θ"],[120564,1,"σ"],[120565,1,"τ"],[120566,1,"υ"],[120567,1,"φ"],[120568,1,"χ"],[120569,1,"ψ"],[120570,1,"ω"],[120571,1,"∇"],[120572,1,"α"],[120573,1,"β"],[120574,1,"γ"],[120575,1,"δ"],[120576,1,"ε"],[120577,1,"ζ"],[120578,1,"η"],[120579,1,"θ"],[120580,1,"ι"],[120581,1,"κ"],[120582,1,"λ"],[120583,1,"μ"],[120584,1,"ν"],[120585,1,"ξ"],[120586,1,"ο"],[120587,1,"π"],[120588,1,"ρ"],[[120589,120590],1,"σ"],[120591,1,"τ"],[120592,1,"υ"],[120593,1,"φ"],[120594,1,"χ"],[120595,1,"ψ"],[120596,1,"ω"],[120597,1,"∂"],[120598,1,"ε"],[120599,1,"θ"],[120600,1,"κ"],[120601,1,"φ"],[120602,1,"ρ"],[120603,1,"π"],[120604,1,"α"],[120605,1,"β"],[120606,1,"γ"],[120607,1,"δ"],[120608,1,"ε"],[120609,1,"ζ"],[120610,1,"η"],[120611,1,"θ"],[120612,1,"ι"],[120613,1,"κ"],[120614,1,"λ"],[120615,1,"μ"],[120616,1,"ν"],[120617,1,"ξ"],[120618,1,"ο"],[120619,1,"π"],[120620,1,"ρ"],[120621,1,"θ"],[120622,1,"σ"],[120623,1,"τ"],[120624,1,"υ"],[120625,1,"φ"],[120626,1,"χ"],[120627,1,"ψ"],[120628,1,"ω"],[120629,1,"∇"],[120630,1,"α"],[120631,1,"β"],[120632,1,"γ"],[120633,1,"δ"],[120634,1,"ε"],[120635,1,"ζ"],[120636,1,"η"],[120637,1,"θ"],[120638,1,"ι"],[120639,1,"κ"],[120640,1,"λ"],[120641,1,"μ"],[120642,1,"ν"],[120643,1,"ξ"],[120644,1,"ο"],[120645,1,"π"],[120646,1,"ρ"],[[120647,120648],1,"σ"],[120649,1,"τ"],[120650,1,"υ"],[120651,1,"φ"],[120652,1,"χ"],[120653,1,"ψ"],[120654,1,"ω"],[120655,1,"∂"],[120656,1,"ε"],[120657,1,"θ"],[120658,1,"κ"],[120659,1,"φ"],[120660,1,"ρ"],[120661,1,"π"],[120662,1,"α"],[120663,1,"β"],[120664,1,"γ"],[120665,1,"δ"],[120666,1,"ε"],[120667,1,"ζ"],[120668,1,"η"],[120669,1,"θ"],[120670,1,"ι"],[120671,1,"κ"],[120672,1,"λ"],[120673,1,"μ"],[120674,1,"ν"],[120675,1,"ξ"],[120676,1,"ο"],[120677,1,"π"],[120678,1,"ρ"],[120679,1,"θ"],[120680,1,"σ"],[120681,1,"τ"],[120682,1,"υ"],[120683,1,"φ"],[120684,1,"χ"],[120685,1,"ψ"],[120686,1,"ω"],[120687,1,"∇"],[120688,1,"α"],[120689,1,"β"],[120690,1,"γ"],[120691,1,"δ"],[120692,1,"ε"],[120693,1,"ζ"],[120694,1,"η"],[120695,1,"θ"],[120696,1,"ι"],[120697,1,"κ"],[120698,1,"λ"],[120699,1,"μ"],[120700,1,"ν"],[120701,1,"ξ"],[120702,1,"ο"],[120703,1,"π"],[120704,1,"ρ"],[[120705,120706],1,"σ"],[120707,1,"τ"],[120708,1,"υ"],[120709,1,"φ"],[120710,1,"χ"],[120711,1,"ψ"],[120712,1,"ω"],[120713,1,"∂"],[120714,1,"ε"],[120715,1,"θ"],[120716,1,"κ"],[120717,1,"φ"],[120718,1,"ρ"],[120719,1,"π"],[120720,1,"α"],[120721,1,"β"],[120722,1,"γ"],[120723,1,"δ"],[120724,1,"ε"],[120725,1,"ζ"],[120726,1,"η"],[120727,1,"θ"],[120728,1,"ι"],[120729,1,"κ"],[120730,1,"λ"],[120731,1,"μ"],[120732,1,"ν"],[120733,1,"ξ"],[120734,1,"ο"],[120735,1,"π"],[120736,1,"ρ"],[120737,1,"θ"],[120738,1,"σ"],[120739,1,"τ"],[120740,1,"υ"],[120741,1,"φ"],[120742,1,"χ"],[120743,1,"ψ"],[120744,1,"ω"],[120745,1,"∇"],[120746,1,"α"],[120747,1,"β"],[120748,1,"γ"],[120749,1,"δ"],[120750,1,"ε"],[120751,1,"ζ"],[120752,1,"η"],[120753,1,"θ"],[120754,1,"ι"],[120755,1,"κ"],[120756,1,"λ"],[120757,1,"μ"],[120758,1,"ν"],[120759,1,"ξ"],[120760,1,"ο"],[120761,1,"π"],[120762,1,"ρ"],[[120763,120764],1,"σ"],[120765,1,"τ"],[120766,1,"υ"],[120767,1,"φ"],[120768,1,"χ"],[120769,1,"ψ"],[120770,1,"ω"],[120771,1,"∂"],[120772,1,"ε"],[120773,1,"θ"],[120774,1,"κ"],[120775,1,"φ"],[120776,1,"ρ"],[120777,1,"π"],[[120778,120779],1,"ϝ"],[[120780,120781],3],[120782,1,"0"],[120783,1,"1"],[120784,1,"2"],[120785,1,"3"],[120786,1,"4"],[120787,1,"5"],[120788,1,"6"],[120789,1,"7"],[120790,1,"8"],[120791,1,"9"],[120792,1,"0"],[120793,1,"1"],[120794,1,"2"],[120795,1,"3"],[120796,1,"4"],[120797,1,"5"],[120798,1,"6"],[120799,1,"7"],[120800,1,"8"],[120801,1,"9"],[120802,1,"0"],[120803,1,"1"],[120804,1,"2"],[120805,1,"3"],[120806,1,"4"],[120807,1,"5"],[120808,1,"6"],[120809,1,"7"],[120810,1,"8"],[120811,1,"9"],[120812,1,"0"],[120813,1,"1"],[120814,1,"2"],[120815,1,"3"],[120816,1,"4"],[120817,1,"5"],[120818,1,"6"],[120819,1,"7"],[120820,1,"8"],[120821,1,"9"],[120822,1,"0"],[120823,1,"1"],[120824,1,"2"],[120825,1,"3"],[120826,1,"4"],[120827,1,"5"],[120828,1,"6"],[120829,1,"7"],[120830,1,"8"],[120831,1,"9"],[[120832,121343],2],[[121344,121398],2],[[121399,121402],2],[[121403,121452],2],[[121453,121460],2],[121461,2],[[121462,121475],2],[121476,2],[[121477,121483],2],[[121484,121498],3],[[121499,121503],2],[121504,3],[[121505,121519],2],[[121520,122879],3],[[122880,122886],2],[122887,3],[[122888,122904],2],[[122905,122906],3],[[122907,122913],2],[122914,3],[[122915,122916],2],[122917,3],[[122918,122922],2],[[122923,123135],3],[[123136,123180],2],[[123181,123183],3],[[123184,123197],2],[[123198,123199],3],[[123200,123209],2],[[123210,123213],3],[123214,2],[123215,2],[[123216,123583],3],[[123584,123641],2],[[123642,123646],3],[123647,2],[[123648,124927],3],[[124928,125124],2],[[125125,125126],3],[[125127,125135],2],[[125136,125142],2],[[125143,125183],3],[125184,1,"𞤢"],[125185,1,"𞤣"],[125186,1,"𞤤"],[125187,1,"𞤥"],[125188,1,"𞤦"],[125189,1,"𞤧"],[125190,1,"𞤨"],[125191,1,"𞤩"],[125192,1,"𞤪"],[125193,1,"𞤫"],[125194,1,"𞤬"],[125195,1,"𞤭"],[125196,1,"𞤮"],[125197,1,"𞤯"],[125198,1,"𞤰"],[125199,1,"𞤱"],[125200,1,"𞤲"],[125201,1,"𞤳"],[125202,1,"𞤴"],[125203,1,"𞤵"],[125204,1,"𞤶"],[125205,1,"𞤷"],[125206,1,"𞤸"],[125207,1,"𞤹"],[125208,1,"𞤺"],[125209,1,"𞤻"],[125210,1,"𞤼"],[125211,1,"𞤽"],[125212,1,"𞤾"],[125213,1,"𞤿"],[125214,1,"𞥀"],[125215,1,"𞥁"],[125216,1,"𞥂"],[125217,1,"𞥃"],[[125218,125258],2],[125259,2],[[125260,125263],3],[[125264,125273],2],[[125274,125277],3],[[125278,125279],2],[[125280,126064],3],[[126065,126132],2],[[126133,126208],3],[[126209,126269],2],[[126270,126463],3],[126464,1,"ا"],[126465,1,"ب"],[126466,1,"ج"],[126467,1,"د"],[126468,3],[126469,1,"و"],[126470,1,"ز"],[126471,1,"ح"],[126472,1,"ط"],[126473,1,"ي"],[126474,1,"ك"],[126475,1,"ل"],[126476,1,"م"],[126477,1,"ن"],[126478,1,"س"],[126479,1,"ع"],[126480,1,"ف"],[126481,1,"ص"],[126482,1,"ق"],[126483,1,"ر"],[126484,1,"ش"],[126485,1,"ت"],[126486,1,"ث"],[126487,1,"خ"],[126488,1,"ذ"],[126489,1,"ض"],[126490,1,"ظ"],[126491,1,"غ"],[126492,1,"ٮ"],[126493,1,"ں"],[126494,1,"ڡ"],[126495,1,"ٯ"],[126496,3],[126497,1,"ب"],[126498,1,"ج"],[126499,3],[126500,1,"ه"],[[126501,126502],3],[126503,1,"ح"],[126504,3],[126505,1,"ي"],[126506,1,"ك"],[126507,1,"ل"],[126508,1,"م"],[126509,1,"ن"],[126510,1,"س"],[126511,1,"ع"],[126512,1,"ف"],[126513,1,"ص"],[126514,1,"ق"],[126515,3],[126516,1,"ش"],[126517,1,"ت"],[126518,1,"ث"],[126519,1,"خ"],[126520,3],[126521,1,"ض"],[126522,3],[126523,1,"غ"],[[126524,126529],3],[126530,1,"ج"],[[126531,126534],3],[126535,1,"ح"],[126536,3],[126537,1,"ي"],[126538,3],[126539,1,"ل"],[126540,3],[126541,1,"ن"],[126542,1,"س"],[126543,1,"ع"],[126544,3],[126545,1,"ص"],[126546,1,"ق"],[126547,3],[126548,1,"ش"],[[126549,126550],3],[126551,1,"خ"],[126552,3],[126553,1,"ض"],[126554,3],[126555,1,"غ"],[126556,3],[126557,1,"ں"],[126558,3],[126559,1,"ٯ"],[126560,3],[126561,1,"ب"],[126562,1,"ج"],[126563,3],[126564,1,"ه"],[[126565,126566],3],[126567,1,"ح"],[126568,1,"ط"],[126569,1,"ي"],[126570,1,"ك"],[126571,3],[126572,1,"م"],[126573,1,"ن"],[126574,1,"س"],[126575,1,"ع"],[126576,1,"ف"],[126577,1,"ص"],[126578,1,"ق"],[126579,3],[126580,1,"ش"],[126581,1,"ت"],[126582,1,"ث"],[126583,1,"خ"],[126584,3],[126585,1,"ض"],[126586,1,"ظ"],[126587,1,"غ"],[126588,1,"ٮ"],[126589,3],[126590,1,"ڡ"],[126591,3],[126592,1,"ا"],[126593,1,"ب"],[126594,1,"ج"],[126595,1,"د"],[126596,1,"ه"],[126597,1,"و"],[126598,1,"ز"],[126599,1,"ح"],[126600,1,"ط"],[126601,1,"ي"],[126602,3],[126603,1,"ل"],[126604,1,"م"],[126605,1,"ن"],[126606,1,"س"],[126607,1,"ع"],[126608,1,"ف"],[126609,1,"ص"],[126610,1,"ق"],[126611,1,"ر"],[126612,1,"ش"],[126613,1,"ت"],[126614,1,"ث"],[126615,1,"خ"],[126616,1,"ذ"],[126617,1,"ض"],[126618,1,"ظ"],[126619,1,"غ"],[[126620,126624],3],[126625,1,"ب"],[126626,1,"ج"],[126627,1,"د"],[126628,3],[126629,1,"و"],[126630,1,"ز"],[126631,1,"ح"],[126632,1,"ط"],[126633,1,"ي"],[126634,3],[126635,1,"ل"],[126636,1,"م"],[126637,1,"ن"],[126638,1,"س"],[126639,1,"ع"],[126640,1,"ف"],[126641,1,"ص"],[126642,1,"ق"],[126643,1,"ر"],[126644,1,"ش"],[126645,1,"ت"],[126646,1,"ث"],[126647,1,"خ"],[126648,1,"ذ"],[126649,1,"ض"],[126650,1,"ظ"],[126651,1,"غ"],[[126652,126703],3],[[126704,126705],2],[[126706,126975],3],[[126976,127019],2],[[127020,127023],3],[[127024,127123],2],[[127124,127135],3],[[127136,127150],2],[[127151,127152],3],[[127153,127166],2],[127167,2],[127168,3],[[127169,127183],2],[127184,3],[[127185,127199],2],[[127200,127221],2],[[127222,127231],3],[127232,3],[127233,5,"0,"],[127234,5,"1,"],[127235,5,"2,"],[127236,5,"3,"],[127237,5,"4,"],[127238,5,"5,"],[127239,5,"6,"],[127240,5,"7,"],[127241,5,"8,"],[127242,5,"9,"],[[127243,127244],2],[[127245,127247],2],[127248,5,"(a)"],[127249,5,"(b)"],[127250,5,"(c)"],[127251,5,"(d)"],[127252,5,"(e)"],[127253,5,"(f)"],[127254,5,"(g)"],[127255,5,"(h)"],[127256,5,"(i)"],[127257,5,"(j)"],[127258,5,"(k)"],[127259,5,"(l)"],[127260,5,"(m)"],[127261,5,"(n)"],[127262,5,"(o)"],[127263,5,"(p)"],[127264,5,"(q)"],[127265,5,"(r)"],[127266,5,"(s)"],[127267,5,"(t)"],[127268,5,"(u)"],[127269,5,"(v)"],[127270,5,"(w)"],[127271,5,"(x)"],[127272,5,"(y)"],[127273,5,"(z)"],[127274,1,"〔s〕"],[127275,1,"c"],[127276,1,"r"],[127277,1,"cd"],[127278,1,"wz"],[127279,2],[127280,1,"a"],[127281,1,"b"],[127282,1,"c"],[127283,1,"d"],[127284,1,"e"],[127285,1,"f"],[127286,1,"g"],[127287,1,"h"],[127288,1,"i"],[127289,1,"j"],[127290,1,"k"],[127291,1,"l"],[127292,1,"m"],[127293,1,"n"],[127294,1,"o"],[127295,1,"p"],[127296,1,"q"],[127297,1,"r"],[127298,1,"s"],[127299,1,"t"],[127300,1,"u"],[127301,1,"v"],[127302,1,"w"],[127303,1,"x"],[127304,1,"y"],[127305,1,"z"],[127306,1,"hv"],[127307,1,"mv"],[127308,1,"sd"],[127309,1,"ss"],[127310,1,"ppv"],[127311,1,"wc"],[[127312,127318],2],[127319,2],[[127320,127326],2],[127327,2],[[127328,127337],2],[127338,1,"mc"],[127339,1,"md"],[127340,1,"mr"],[[127341,127343],2],[[127344,127352],2],[127353,2],[127354,2],[[127355,127356],2],[[127357,127358],2],[127359,2],[[127360,127369],2],[[127370,127373],2],[[127374,127375],2],[127376,1,"dj"],[[127377,127386],2],[[127387,127404],2],[127405,2],[[127406,127461],3],[[127462,127487],2],[127488,1,"ほか"],[127489,1,"ココ"],[127490,1,"サ"],[[127491,127503],3],[127504,1,"手"],[127505,1,"字"],[127506,1,"双"],[127507,1,"デ"],[127508,1,"二"],[127509,1,"多"],[127510,1,"解"],[127511,1,"天"],[127512,1,"交"],[127513,1,"映"],[127514,1,"無"],[127515,1,"料"],[127516,1,"前"],[127517,1,"後"],[127518,1,"再"],[127519,1,"新"],[127520,1,"初"],[127521,1,"終"],[127522,1,"生"],[127523,1,"販"],[127524,1,"声"],[127525,1,"吹"],[127526,1,"演"],[127527,1,"投"],[127528,1,"捕"],[127529,1,"一"],[127530,1,"三"],[127531,1,"遊"],[127532,1,"左"],[127533,1,"中"],[127534,1,"右"],[127535,1,"指"],[127536,1,"走"],[127537,1,"打"],[127538,1,"禁"],[127539,1,"空"],[127540,1,"合"],[127541,1,"満"],[127542,1,"有"],[127543,1,"月"],[127544,1,"申"],[127545,1,"割"],[127546,1,"営"],[127547,1,"配"],[[127548,127551],3],[127552,1,"〔本〕"],[127553,1,"〔三〕"],[127554,1,"〔二〕"],[127555,1,"〔安〕"],[127556,1,"〔点〕"],[127557,1,"〔打〕"],[127558,1,"〔盗〕"],[127559,1,"〔勝〕"],[127560,1,"〔敗〕"],[[127561,127567],3],[127568,1,"得"],[127569,1,"可"],[[127570,127583],3],[[127584,127589],2],[[127590,127743],3],[[127744,127776],2],[[127777,127788],2],[[127789,127791],2],[[127792,127797],2],[127798,2],[[127799,127868],2],[127869,2],[[127870,127871],2],[[127872,127891],2],[[127892,127903],2],[[127904,127940],2],[127941,2],[[127942,127946],2],[[127947,127950],2],[[127951,127955],2],[[127956,127967],2],[[127968,127984],2],[[127985,127991],2],[[127992,127999],2],[[128000,128062],2],[128063,2],[128064,2],[128065,2],[[128066,128247],2],[128248,2],[[128249,128252],2],[[128253,128254],2],[128255,2],[[128256,128317],2],[[128318,128319],2],[[128320,128323],2],[[128324,128330],2],[[128331,128335],2],[[128336,128359],2],[[128360,128377],2],[128378,2],[[128379,128419],2],[128420,2],[[128421,128506],2],[[128507,128511],2],[128512,2],[[128513,128528],2],[128529,2],[[128530,128532],2],[128533,2],[128534,2],[128535,2],[128536,2],[128537,2],[128538,2],[128539,2],[[128540,128542],2],[128543,2],[[128544,128549],2],[[128550,128551],2],[[128552,128555],2],[128556,2],[128557,2],[[128558,128559],2],[[128560,128563],2],[128564,2],[[128565,128576],2],[[128577,128578],2],[[128579,128580],2],[[128581,128591],2],[[128592,128639],2],[[128640,128709],2],[[128710,128719],2],[128720,2],[[128721,128722],2],[[128723,128724],2],[128725,2],[[128726,128727],2],[[128728,128735],3],[[128736,128748],2],[[128749,128751],3],[[128752,128755],2],[[128756,128758],2],[[128759,128760],2],[128761,2],[128762,2],[[128763,128764],2],[[128765,128767],3],[[128768,128883],2],[[128884,128895],3],[[128896,128980],2],[[128981,128984],2],[[128985,128991],3],[[128992,129003],2],[[129004,129023],3],[[129024,129035],2],[[129036,129039],3],[[129040,129095],2],[[129096,129103],3],[[129104,129113],2],[[129114,129119],3],[[129120,129159],2],[[129160,129167],3],[[129168,129197],2],[[129198,129199],3],[[129200,129201],2],[[129202,129279],3],[[129280,129291],2],[129292,2],[[129293,129295],2],[[129296,129304],2],[[129305,129310],2],[129311,2],[[129312,129319],2],[[129320,129327],2],[129328,2],[[129329,129330],2],[[129331,129342],2],[129343,2],[[129344,129355],2],[129356,2],[[129357,129359],2],[[129360,129374],2],[[129375,129387],2],[[129388,129392],2],[129393,2],[129394,2],[[129395,129398],2],[[129399,129400],2],[129401,3],[129402,2],[129403,2],[[129404,129407],2],[[129408,129412],2],[[129413,129425],2],[[129426,129431],2],[[129432,129442],2],[[129443,129444],2],[[129445,129450],2],[[129451,129453],2],[[129454,129455],2],[[129456,129465],2],[[129466,129471],2],[129472,2],[[129473,129474],2],[[129475,129482],2],[129483,2],[129484,3],[[129485,129487],2],[[129488,129510],2],[[129511,129535],2],[[129536,129619],2],[[129620,129631],3],[[129632,129645],2],[[129646,129647],3],[[129648,129651],2],[129652,2],[[129653,129655],3],[[129656,129658],2],[[129659,129663],3],[[129664,129666],2],[[129667,129670],2],[[129671,129679],3],[[129680,129685],2],[[129686,129704],2],[[129705,129711],3],[[129712,129718],2],[[129719,129727],3],[[129728,129730],2],[[129731,129743],3],[[129744,129750],2],[[129751,129791],3],[[129792,129938],2],[129939,3],[[129940,129994],2],[[129995,130031],3],[130032,1,"0"],[130033,1,"1"],[130034,1,"2"],[130035,1,"3"],[130036,1,"4"],[130037,1,"5"],[130038,1,"6"],[130039,1,"7"],[130040,1,"8"],[130041,1,"9"],[[130042,131069],3],[[131070,131071],3],[[131072,173782],2],[[173783,173789],2],[[173790,173823],3],[[173824,177972],2],[[177973,177983],3],[[177984,178205],2],[[178206,178207],3],[[178208,183969],2],[[183970,183983],3],[[183984,191456],2],[[191457,194559],3],[194560,1,"丽"],[194561,1,"丸"],[194562,1,"乁"],[194563,1,"𠄢"],[194564,1,"你"],[194565,1,"侮"],[194566,1,"侻"],[194567,1,"倂"],[194568,1,"偺"],[194569,1,"備"],[194570,1,"僧"],[194571,1,"像"],[194572,1,"㒞"],[194573,1,"𠘺"],[194574,1,"免"],[194575,1,"兔"],[194576,1,"兤"],[194577,1,"具"],[194578,1,"𠔜"],[194579,1,"㒹"],[194580,1,"內"],[194581,1,"再"],[194582,1,"𠕋"],[194583,1,"冗"],[194584,1,"冤"],[194585,1,"仌"],[194586,1,"冬"],[194587,1,"况"],[194588,1,"𩇟"],[194589,1,"凵"],[194590,1,"刃"],[194591,1,"㓟"],[194592,1,"刻"],[194593,1,"剆"],[194594,1,"割"],[194595,1,"剷"],[194596,1,"㔕"],[194597,1,"勇"],[194598,1,"勉"],[194599,1,"勤"],[194600,1,"勺"],[194601,1,"包"],[194602,1,"匆"],[194603,1,"北"],[194604,1,"卉"],[194605,1,"卑"],[194606,1,"博"],[194607,1,"即"],[194608,1,"卽"],[[194609,194611],1,"卿"],[194612,1,"𠨬"],[194613,1,"灰"],[194614,1,"及"],[194615,1,"叟"],[194616,1,"𠭣"],[194617,1,"叫"],[194618,1,"叱"],[194619,1,"吆"],[194620,1,"咞"],[194621,1,"吸"],[194622,1,"呈"],[194623,1,"周"],[194624,1,"咢"],[194625,1,"哶"],[194626,1,"唐"],[194627,1,"啓"],[194628,1,"啣"],[[194629,194630],1,"善"],[194631,1,"喙"],[194632,1,"喫"],[194633,1,"喳"],[194634,1,"嗂"],[194635,1,"圖"],[194636,1,"嘆"],[194637,1,"圗"],[194638,1,"噑"],[194639,1,"噴"],[194640,1,"切"],[194641,1,"壮"],[194642,1,"城"],[194643,1,"埴"],[194644,1,"堍"],[194645,1,"型"],[194646,1,"堲"],[194647,1,"報"],[194648,1,"墬"],[194649,1,"𡓤"],[194650,1,"売"],[194651,1,"壷"],[194652,1,"夆"],[194653,1,"多"],[194654,1,"夢"],[194655,1,"奢"],[194656,1,"𡚨"],[194657,1,"𡛪"],[194658,1,"姬"],[194659,1,"娛"],[194660,1,"娧"],[194661,1,"姘"],[194662,1,"婦"],[194663,1,"㛮"],[194664,3],[194665,1,"嬈"],[[194666,194667],1,"嬾"],[194668,1,"𡧈"],[194669,1,"寃"],[194670,1,"寘"],[194671,1,"寧"],[194672,1,"寳"],[194673,1,"𡬘"],[194674,1,"寿"],[194675,1,"将"],[194676,3],[194677,1,"尢"],[194678,1,"㞁"],[194679,1,"屠"],[194680,1,"屮"],[194681,1,"峀"],[194682,1,"岍"],[194683,1,"𡷤"],[194684,1,"嵃"],[194685,1,"𡷦"],[194686,1,"嵮"],[194687,1,"嵫"],[194688,1,"嵼"],[194689,1,"巡"],[194690,1,"巢"],[194691,1,"㠯"],[194692,1,"巽"],[194693,1,"帨"],[194694,1,"帽"],[194695,1,"幩"],[194696,1,"㡢"],[194697,1,"𢆃"],[194698,1,"㡼"],[194699,1,"庰"],[194700,1,"庳"],[194701,1,"庶"],[194702,1,"廊"],[194703,1,"𪎒"],[194704,1,"廾"],[[194705,194706],1,"𢌱"],[194707,1,"舁"],[[194708,194709],1,"弢"],[194710,1,"㣇"],[194711,1,"𣊸"],[194712,1,"𦇚"],[194713,1,"形"],[194714,1,"彫"],[194715,1,"㣣"],[194716,1,"徚"],[194717,1,"忍"],[194718,1,"志"],[194719,1,"忹"],[194720,1,"悁"],[194721,1,"㤺"],[194722,1,"㤜"],[194723,1,"悔"],[194724,1,"𢛔"],[194725,1,"惇"],[194726,1,"慈"],[194727,1,"慌"],[194728,1,"慎"],[194729,1,"慌"],[194730,1,"慺"],[194731,1,"憎"],[194732,1,"憲"],[194733,1,"憤"],[194734,1,"憯"],[194735,1,"懞"],[194736,1,"懲"],[194737,1,"懶"],[194738,1,"成"],[194739,1,"戛"],[194740,1,"扝"],[194741,1,"抱"],[194742,1,"拔"],[194743,1,"捐"],[194744,1,"𢬌"],[194745,1,"挽"],[194746,1,"拼"],[194747,1,"捨"],[194748,1,"掃"],[194749,1,"揤"],[194750,1,"𢯱"],[194751,1,"搢"],[194752,1,"揅"],[194753,1,"掩"],[194754,1,"㨮"],[194755,1,"摩"],[194756,1,"摾"],[194757,1,"撝"],[194758,1,"摷"],[194759,1,"㩬"],[194760,1,"敏"],[194761,1,"敬"],[194762,1,"𣀊"],[194763,1,"旣"],[194764,1,"書"],[194765,1,"晉"],[194766,1,"㬙"],[194767,1,"暑"],[194768,1,"㬈"],[194769,1,"㫤"],[194770,1,"冒"],[194771,1,"冕"],[194772,1,"最"],[194773,1,"暜"],[194774,1,"肭"],[194775,1,"䏙"],[194776,1,"朗"],[194777,1,"望"],[194778,1,"朡"],[194779,1,"杞"],[194780,1,"杓"],[194781,1,"𣏃"],[194782,1,"㭉"],[194783,1,"柺"],[194784,1,"枅"],[194785,1,"桒"],[194786,1,"梅"],[194787,1,"𣑭"],[194788,1,"梎"],[194789,1,"栟"],[194790,1,"椔"],[194791,1,"㮝"],[194792,1,"楂"],[194793,1,"榣"],[194794,1,"槪"],[194795,1,"檨"],[194796,1,"𣚣"],[194797,1,"櫛"],[194798,1,"㰘"],[194799,1,"次"],[194800,1,"𣢧"],[194801,1,"歔"],[194802,1,"㱎"],[194803,1,"歲"],[194804,1,"殟"],[194805,1,"殺"],[194806,1,"殻"],[194807,1,"𣪍"],[194808,1,"𡴋"],[194809,1,"𣫺"],[194810,1,"汎"],[194811,1,"𣲼"],[194812,1,"沿"],[194813,1,"泍"],[194814,1,"汧"],[194815,1,"洖"],[194816,1,"派"],[194817,1,"海"],[194818,1,"流"],[194819,1,"浩"],[194820,1,"浸"],[194821,1,"涅"],[194822,1,"𣴞"],[194823,1,"洴"],[194824,1,"港"],[194825,1,"湮"],[194826,1,"㴳"],[194827,1,"滋"],[194828,1,"滇"],[194829,1,"𣻑"],[194830,1,"淹"],[194831,1,"潮"],[194832,1,"𣽞"],[194833,1,"𣾎"],[194834,1,"濆"],[194835,1,"瀹"],[194836,1,"瀞"],[194837,1,"瀛"],[194838,1,"㶖"],[194839,1,"灊"],[194840,1,"災"],[194841,1,"灷"],[194842,1,"炭"],[194843,1,"𠔥"],[194844,1,"煅"],[194845,1,"𤉣"],[194846,1,"熜"],[194847,3],[194848,1,"爨"],[194849,1,"爵"],[194850,1,"牐"],[194851,1,"𤘈"],[194852,1,"犀"],[194853,1,"犕"],[194854,1,"𤜵"],[194855,1,"𤠔"],[194856,1,"獺"],[194857,1,"王"],[194858,1,"㺬"],[194859,1,"玥"],[[194860,194861],1,"㺸"],[194862,1,"瑇"],[194863,1,"瑜"],[194864,1,"瑱"],[194865,1,"璅"],[194866,1,"瓊"],[194867,1,"㼛"],[194868,1,"甤"],[194869,1,"𤰶"],[194870,1,"甾"],[194871,1,"𤲒"],[194872,1,"異"],[194873,1,"𢆟"],[194874,1,"瘐"],[194875,1,"𤾡"],[194876,1,"𤾸"],[194877,1,"𥁄"],[194878,1,"㿼"],[194879,1,"䀈"],[194880,1,"直"],[194881,1,"𥃳"],[194882,1,"𥃲"],[194883,1,"𥄙"],[194884,1,"𥄳"],[194885,1,"眞"],[[194886,194887],1,"真"],[194888,1,"睊"],[194889,1,"䀹"],[194890,1,"瞋"],[194891,1,"䁆"],[194892,1,"䂖"],[194893,1,"𥐝"],[194894,1,"硎"],[194895,1,"碌"],[194896,1,"磌"],[194897,1,"䃣"],[194898,1,"𥘦"],[194899,1,"祖"],[194900,1,"𥚚"],[194901,1,"𥛅"],[194902,1,"福"],[194903,1,"秫"],[194904,1,"䄯"],[194905,1,"穀"],[194906,1,"穊"],[194907,1,"穏"],[194908,1,"𥥼"],[[194909,194910],1,"𥪧"],[194911,3],[194912,1,"䈂"],[194913,1,"𥮫"],[194914,1,"篆"],[194915,1,"築"],[194916,1,"䈧"],[194917,1,"𥲀"],[194918,1,"糒"],[194919,1,"䊠"],[194920,1,"糨"],[194921,1,"糣"],[194922,1,"紀"],[194923,1,"𥾆"],[194924,1,"絣"],[194925,1,"䌁"],[194926,1,"緇"],[194927,1,"縂"],[194928,1,"繅"],[194929,1,"䌴"],[194930,1,"𦈨"],[194931,1,"𦉇"],[194932,1,"䍙"],[194933,1,"𦋙"],[194934,1,"罺"],[194935,1,"𦌾"],[194936,1,"羕"],[194937,1,"翺"],[194938,1,"者"],[194939,1,"𦓚"],[194940,1,"𦔣"],[194941,1,"聠"],[194942,1,"𦖨"],[194943,1,"聰"],[194944,1,"𣍟"],[194945,1,"䏕"],[194946,1,"育"],[194947,1,"脃"],[194948,1,"䐋"],[194949,1,"脾"],[194950,1,"媵"],[194951,1,"𦞧"],[194952,1,"𦞵"],[194953,1,"𣎓"],[194954,1,"𣎜"],[194955,1,"舁"],[194956,1,"舄"],[194957,1,"辞"],[194958,1,"䑫"],[194959,1,"芑"],[194960,1,"芋"],[194961,1,"芝"],[194962,1,"劳"],[194963,1,"花"],[194964,1,"芳"],[194965,1,"芽"],[194966,1,"苦"],[194967,1,"𦬼"],[194968,1,"若"],[194969,1,"茝"],[194970,1,"荣"],[194971,1,"莭"],[194972,1,"茣"],[194973,1,"莽"],[194974,1,"菧"],[194975,1,"著"],[194976,1,"荓"],[194977,1,"菊"],[194978,1,"菌"],[194979,1,"菜"],[194980,1,"𦰶"],[194981,1,"𦵫"],[194982,1,"𦳕"],[194983,1,"䔫"],[194984,1,"蓱"],[194985,1,"蓳"],[194986,1,"蔖"],[194987,1,"𧏊"],[194988,1,"蕤"],[194989,1,"𦼬"],[194990,1,"䕝"],[194991,1,"䕡"],[194992,1,"𦾱"],[194993,1,"𧃒"],[194994,1,"䕫"],[194995,1,"虐"],[194996,1,"虜"],[194997,1,"虧"],[194998,1,"虩"],[194999,1,"蚩"],[195000,1,"蚈"],[195001,1,"蜎"],[195002,1,"蛢"],[195003,1,"蝹"],[195004,1,"蜨"],[195005,1,"蝫"],[195006,1,"螆"],[195007,3],[195008,1,"蟡"],[195009,1,"蠁"],[195010,1,"䗹"],[195011,1,"衠"],[195012,1,"衣"],[195013,1,"𧙧"],[195014,1,"裗"],[195015,1,"裞"],[195016,1,"䘵"],[195017,1,"裺"],[195018,1,"㒻"],[195019,1,"𧢮"],[195020,1,"𧥦"],[195021,1,"䚾"],[195022,1,"䛇"],[195023,1,"誠"],[195024,1,"諭"],[195025,1,"變"],[195026,1,"豕"],[195027,1,"𧲨"],[195028,1,"貫"],[195029,1,"賁"],[195030,1,"贛"],[195031,1,"起"],[195032,1,"𧼯"],[195033,1,"𠠄"],[195034,1,"跋"],[195035,1,"趼"],[195036,1,"跰"],[195037,1,"𠣞"],[195038,1,"軔"],[195039,1,"輸"],[195040,1,"𨗒"],[195041,1,"𨗭"],[195042,1,"邔"],[195043,1,"郱"],[195044,1,"鄑"],[195045,1,"𨜮"],[195046,1,"鄛"],[195047,1,"鈸"],[195048,1,"鋗"],[195049,1,"鋘"],[195050,1,"鉼"],[195051,1,"鏹"],[195052,1,"鐕"],[195053,1,"𨯺"],[195054,1,"開"],[195055,1,"䦕"],[195056,1,"閷"],[195057,1,"𨵷"],[195058,1,"䧦"],[195059,1,"雃"],[195060,1,"嶲"],[195061,1,"霣"],[195062,1,"𩅅"],[195063,1,"𩈚"],[195064,1,"䩮"],[195065,1,"䩶"],[195066,1,"韠"],[195067,1,"𩐊"],[195068,1,"䪲"],[195069,1,"𩒖"],[[195070,195071],1,"頋"],[195072,1,"頩"],[195073,1,"𩖶"],[195074,1,"飢"],[195075,1,"䬳"],[195076,1,"餩"],[195077,1,"馧"],[195078,1,"駂"],[195079,1,"駾"],[195080,1,"䯎"],[195081,1,"𩬰"],[195082,1,"鬒"],[195083,1,"鱀"],[195084,1,"鳽"],[195085,1,"䳎"],[195086,1,"䳭"],[195087,1,"鵧"],[195088,1,"𪃎"],[195089,1,"䳸"],[195090,1,"𪄅"],[195091,1,"𪈎"],[195092,1,"𪊑"],[195093,1,"麻"],[195094,1,"䵖"],[195095,1,"黹"],[195096,1,"黾"],[195097,1,"鼅"],[195098,1,"鼏"],[195099,1,"鼖"],[195100,1,"鼻"],[195101,1,"𪘀"],[[195102,196605],3],[[196606,196607],3],[[196608,201546],2],[[201547,262141],3],[[262142,262143],3],[[262144,327677],3],[[327678,327679],3],[[327680,393213],3],[[393214,393215],3],[[393216,458749],3],[[458750,458751],3],[[458752,524285],3],[[524286,524287],3],[[524288,589821],3],[[589822,589823],3],[[589824,655357],3],[[655358,655359],3],[[655360,720893],3],[[720894,720895],3],[[720896,786429],3],[[786430,786431],3],[[786432,851965],3],[[851966,851967],3],[[851968,917501],3],[[917502,917503],3],[917504,3],[917505,3],[[917506,917535],3],[[917536,917631],3],[[917632,917759],3],[[917760,917999],7],[[918000,983037],3],[[983038,983039],3],[[983040,1048573],3],[[1048574,1048575],3],[[1048576,1114109],3],[[1114110,1114111],3]] -},{}],1053:[function(require,module,exports){ +},{}],1057:[function(require,module,exports){ "use strict"; const combiningMarks = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1AC0\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10EAB}\u{10EAC}\u{10F46}-\u{10F50}\u{11000}-\u{11002}\u{11038}-\u{11046}\u{1107F}-\u{11082}\u{110B0}-\u{110BA}\u{11100}-\u{11102}\u{11127}-\u{11134}\u{11145}\u{11146}\u{11173}\u{11180}-\u{11182}\u{111B3}-\u{111C0}\u{111C9}-\u{111CC}\u{111CE}\u{111CF}\u{1122C}-\u{11237}\u{1123E}\u{112DF}-\u{112EA}\u{11300}-\u{11303}\u{1133B}\u{1133C}\u{1133E}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11357}\u{11362}\u{11363}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11435}-\u{11446}\u{1145E}\u{114B0}-\u{114C3}\u{115AF}-\u{115B5}\u{115B8}-\u{115C0}\u{115DC}\u{115DD}\u{11630}-\u{11640}\u{116AB}-\u{116B7}\u{1171D}-\u{1172B}\u{1182C}-\u{1183A}\u{11930}-\u{11935}\u{11937}\u{11938}\u{1193B}-\u{1193E}\u{11940}\u{11942}\u{11943}\u{119D1}-\u{119D7}\u{119DA}-\u{119E0}\u{119E4}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A39}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A5B}\u{11A8A}-\u{11A99}\u{11C2F}-\u{11C36}\u{11C38}-\u{11C3F}\u{11C92}-\u{11CA7}\u{11CA9}-\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D8A}-\u{11D8E}\u{11D90}\u{11D91}\u{11D93}-\u{11D97}\u{11EF3}-\u{11EF6}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F51}-\u{16F87}\u{16F8F}-\u{16F92}\u{16FE4}\u{16FF0}\u{16FF1}\u{1BC9D}\u{1BC9E}\u{1D165}-\u{1D169}\u{1D16D}-\u{1D172}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E130}-\u{1E136}\u{1E2EC}-\u{1E2EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{E0100}-\u{E01EF}]/u; @@ -207697,7 +207759,7 @@ module.exports = { bidiS6 }; -},{}],1054:[function(require,module,exports){ +},{}],1058:[function(require,module,exports){ "use strict"; module.exports.STATUS_MAPPING = { @@ -207710,7 +207772,7 @@ module.exports.STATUS_MAPPING = { ignored: 7 }; -},{}],1055:[function(require,module,exports){ +},{}],1059:[function(require,module,exports){ (function (global){(function (){ /*! ***************************************************************************** Copyright (c) Microsoft Corporation. @@ -208020,7 +208082,7 @@ var __createBinding; }); }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],1056:[function(require,module,exports){ +},{}],1060:[function(require,module,exports){ (function (global){(function (){ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : @@ -208412,7 +208474,7 @@ return typeDetect; }))); }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],1057:[function(require,module,exports){ +},{}],1061:[function(require,module,exports){ 'use strict' exports.fromCallback = function (fn) { @@ -208439,7 +208501,7 @@ exports.fromPromise = function (fn) { }, 'name', { value: fn.name }) } -},{}],1058:[function(require,module,exports){ +},{}],1062:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -209173,7 +209235,7 @@ Url.prototype.parseHost = function() { if (host) this.hostname = host; }; -},{"./util":1059,"punycode":984,"querystring":989}],1059:[function(require,module,exports){ +},{"./util":1063,"punycode":988,"querystring":993}],1063:[function(require,module,exports){ 'use strict'; module.exports = { @@ -209191,7 +209253,7 @@ module.exports = { } }; -},{}],1060:[function(require,module,exports){ +},{}],1064:[function(require,module,exports){ (function (global){(function (){ /** @@ -209262,9 +209324,9 @@ function config (name) { } }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],1061:[function(require,module,exports){ -arguments[4][70][0].apply(exports,arguments) -},{"dup":70}],1062:[function(require,module,exports){ +},{}],1065:[function(require,module,exports){ +arguments[4][74][0].apply(exports,arguments) +},{"dup":74}],1066:[function(require,module,exports){ // Currently in sync with Node.js lib/internal/util/types.js // https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9 @@ -209600,7 +209662,7 @@ exports.isAnyArrayBuffer = isAnyArrayBuffer; }); }); -},{"is-arguments":329,"is-generator-function":330,"is-typed-array":332,"which-typed-array":1115}],1063:[function(require,module,exports){ +},{"is-arguments":333,"is-generator-function":334,"is-typed-array":336,"which-typed-array":1119}],1067:[function(require,module,exports){ (function (process){(function (){ // Copyright Joyent, Inc. and other Node contributors. // @@ -210319,7 +210381,7 @@ function callbackify(original) { exports.callbackify = callbackify; }).call(this)}).call(this,require('_process')) -},{"./support/isBuffer":1061,"./support/types":1062,"_process":974,"inherits":328}],1064:[function(require,module,exports){ +},{"./support/isBuffer":1065,"./support/types":1066,"_process":978,"inherits":332}],1068:[function(require,module,exports){ "use strict"; const { getGlobalMonotonicClockMS } = require("./lib/global-monotonic-clock"); @@ -210332,7 +210394,7 @@ module.exports = { clockIsAccurate }; -},{"./lib/clock-is-accurate":1066,"./lib/global-monotonic-clock":1067,"./lib/performance":1068}],1065:[function(require,module,exports){ +},{"./lib/clock-is-accurate":1070,"./lib/global-monotonic-clock":1071,"./lib/performance":1072}],1069:[function(require,module,exports){ "use strict"; // This files implements the calculation of the offset between the global monotonic clock and UNIX time. This value is @@ -210373,7 +210435,7 @@ if (clockIsAccurate) { module.exports = undefined; } -},{"./clock-is-accurate":1066,"./global-monotonic-clock":1067}],1066:[function(require,module,exports){ +},{"./clock-is-accurate":1070,"./global-monotonic-clock":1071}],1070:[function(require,module,exports){ "use strict"; const { hrtime } = require("./utils"); @@ -210436,7 +210498,7 @@ const isAccurate = accurates >= THRESHOLD; module.exports = isAccurate; -},{"./utils":1069}],1067:[function(require,module,exports){ +},{"./utils":1073}],1071:[function(require,module,exports){ "use strict"; const { hrtime, toMS } = require("./utils"); @@ -210448,7 +210510,7 @@ function getGlobalMonotonicClockMS() { module.exports = { getGlobalMonotonicClockMS }; -},{"./utils":1069}],1068:[function(require,module,exports){ +},{"./utils":1073}],1072:[function(require,module,exports){ "use strict"; // Actual implementation of the Performance class. @@ -210503,7 +210565,7 @@ class Performance { module.exports = { Performance }; -},{"./calculate-clock-offset":1065,"./clock-is-accurate":1066,"./utils":1069}],1069:[function(require,module,exports){ +},{"./calculate-clock-offset":1069,"./clock-is-accurate":1070,"./utils":1073}],1073:[function(require,module,exports){ "use strict"; // Browserify's process implementation doesn't have hrtime, and this package is small so not much of a burden for @@ -210516,7 +210578,7 @@ function toMS([sec, nanosec]) { module.exports = { hrtime, toMS }; -},{"browser-process-hrtime":1070}],1070:[function(require,module,exports){ +},{"browser-process-hrtime":1074}],1074:[function(require,module,exports){ (function (process,global){(function (){ module.exports = process.hrtime || hrtime @@ -210547,7 +210609,7 @@ function hrtime(previousTimestamp){ return [seconds,nanoseconds] } }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":974}],1071:[function(require,module,exports){ +},{"_process":978}],1075:[function(require,module,exports){ "use strict"; const xnv = require("xml-name-validator"); @@ -210677,7 +210739,7 @@ module.exports.generatePrefix = generatePrefix; module.exports.serializeAttributeValue = serializeAttributeValue; module.exports.serializeAttributes = serializeAttributes; -},{"./constants":1072,"xml-name-validator":1117}],1072:[function(require,module,exports){ +},{"./constants":1076,"xml-name-validator":1121}],1076:[function(require,module,exports){ "use strict"; module.exports.NAMESPACES = { @@ -210723,7 +210785,7 @@ module.exports.VOID_ELEMENTS = new Set([ "wbr" ]); -},{}],1073:[function(require,module,exports){ +},{}],1077:[function(require,module,exports){ "use strict"; const xnv = require("xml-name-validator"); @@ -211096,7 +211158,7 @@ module.exports = (root, { requireWellFormed = false } = {}) => { }); }; -},{"./attributes":1071,"./constants":1072,"xml-name-validator":1117}],1074:[function(require,module,exports){ +},{"./attributes":1075,"./constants":1076,"xml-name-validator":1121}],1078:[function(require,module,exports){ (function (Buffer){(function (){ /** * Copyright (c) 2019, Peculiar Ventures, All rights reserved. @@ -212441,7 +212503,7 @@ exports.isJWK = isJWK; exports.json = index$3; }).call(this)}).call(this,require("buffer").Buffer) -},{"@peculiar/asn1-schema":32,"@peculiar/json-schema":41,"asn1js":67,"buffer":124,"pvtsutils":985,"tslib":1055}],1075:[function(require,module,exports){ +},{"@peculiar/asn1-schema":36,"@peculiar/json-schema":45,"asn1js":71,"buffer":128,"pvtsutils":989,"tslib":1059}],1079:[function(require,module,exports){ "use strict"; function makeException(ErrorType, message, opts = {}) { @@ -212932,7 +212994,7 @@ exports.Function = convertCallbackFunction; exports.VoidFunction = convertCallbackFunction; -},{}],1076:[function(require,module,exports){ +},{}],1080:[function(require,module,exports){ module.exports={ "866": "IBM866", "unicode-1-1-utf-8": "UTF-8", @@ -213140,7 +213202,7 @@ module.exports={ "utf-16": "UTF-16LE", "utf-16le": "UTF-16LE" } -},{}],1077:[function(require,module,exports){ +},{}],1081:[function(require,module,exports){ module.exports=[ "UTF-8", "IBM866", @@ -213178,7 +213240,7 @@ module.exports=[ "UTF-16BE", "UTF-16LE" ] -},{}],1078:[function(require,module,exports){ +},{}],1082:[function(require,module,exports){ "use strict"; const iconvLite = require("iconv-lite"); const supportedNames = require("./supported-names.json"); @@ -213227,7 +213289,7 @@ exports.isSupported = name => { return supportedNamesSet.has(String(name)); }; -},{"./labels-to-names.json":1076,"./supported-names.json":1077,"iconv-lite":1097}],1079:[function(require,module,exports){ +},{"./labels-to-names.json":1080,"./supported-names.json":1081,"iconv-lite":1101}],1083:[function(require,module,exports){ "use strict"; var Buffer = require("safer-buffer").Buffer; @@ -213784,7 +213846,7 @@ function findIdx(table, val) { } -},{"safer-buffer":994}],1080:[function(require,module,exports){ +},{"safer-buffer":998}],1084:[function(require,module,exports){ "use strict"; // Description of supported double byte encodings and aliases. @@ -213962,7 +214024,7 @@ module.exports = { 'xxbig5': 'big5hkscs', }; -},{"./tables/big5-added.json":1086,"./tables/cp936.json":1087,"./tables/cp949.json":1088,"./tables/cp950.json":1089,"./tables/eucjp.json":1090,"./tables/gb18030-ranges.json":1091,"./tables/gbk-added.json":1092,"./tables/shiftjis.json":1093}],1081:[function(require,module,exports){ +},{"./tables/big5-added.json":1090,"./tables/cp936.json":1091,"./tables/cp949.json":1092,"./tables/cp950.json":1093,"./tables/eucjp.json":1094,"./tables/gb18030-ranges.json":1095,"./tables/gbk-added.json":1096,"./tables/shiftjis.json":1097}],1085:[function(require,module,exports){ "use strict"; // Update this array if you add/rename/remove files in this directory. @@ -213986,7 +214048,7 @@ for (var i = 0; i < modules.length; i++) { exports[enc] = module[enc]; } -},{"./dbcs-codec":1079,"./dbcs-data":1080,"./internal":1082,"./sbcs-codec":1083,"./sbcs-data":1085,"./sbcs-data-generated":1084,"./utf16":1094,"./utf7":1095}],1082:[function(require,module,exports){ +},{"./dbcs-codec":1083,"./dbcs-data":1084,"./internal":1086,"./sbcs-codec":1087,"./sbcs-data":1089,"./sbcs-data-generated":1088,"./utf16":1098,"./utf7":1099}],1086:[function(require,module,exports){ "use strict"; var Buffer = require("safer-buffer").Buffer; @@ -214176,7 +214238,7 @@ InternalDecoderCesu8.prototype.end = function() { return res; } -},{"safer-buffer":994,"string_decoder":1038}],1083:[function(require,module,exports){ +},{"safer-buffer":998,"string_decoder":1042}],1087:[function(require,module,exports){ "use strict"; var Buffer = require("safer-buffer").Buffer; @@ -214250,7 +214312,7 @@ SBCSDecoder.prototype.write = function(buf) { SBCSDecoder.prototype.end = function() { } -},{"safer-buffer":994}],1084:[function(require,module,exports){ +},{"safer-buffer":998}],1088:[function(require,module,exports){ "use strict"; // Generated data for sbcs codec. Don't edit manually. Regenerate using generation/gen-sbcs.js script. @@ -214702,7 +214764,7 @@ module.exports = { "chars": "���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" } } -},{}],1085:[function(require,module,exports){ +},{}],1089:[function(require,module,exports){ "use strict"; // Manually added data to be used by sbcs codec in addition to generated one. @@ -214878,7 +214940,7 @@ module.exports = { }; -},{}],1086:[function(require,module,exports){ +},{}],1090:[function(require,module,exports){ module.exports=[ ["8740","䏰䰲䘃䖦䕸𧉧䵷䖳𧲱䳢𧳅㮕䜶䝄䱇䱀𤊿𣘗𧍒𦺋𧃒䱗𪍑䝏䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡晍囻"], ["8767","綕夝𨮹㷴霴𧯯寛𡵞媤㘥𩺰嫑宷峼杮薓𩥅瑡璝㡵𡵓𣚞𦀡㻬"], @@ -215002,7 +215064,7 @@ module.exports=[ ["fea1","𤅟𤩹𨮏孆𨰃𡢞瓈𡦈甎瓩甞𨻙𡩋寗𨺬鎅畍畊畧畮𤾂㼄𤴓疎瑝疞疴瘂瘬癑癏癯癶𦏵皐臯㟸𦤑𦤎皡皥皷盌𦾟葢𥂝𥅽𡸜眞眦着撯𥈠睘𣊬瞯𨥤𨥨𡛁矴砉𡍶𤨒棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗禝𧬹礼禩渪𧄦㺨秆𩄍秔"] ] -},{}],1087:[function(require,module,exports){ +},{}],1091:[function(require,module,exports){ module.exports=[ ["0","\u0000",127,"€"], ["8140","丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",5,"乲乴",9,"乿",6,"亇亊"], @@ -215268,7 +215330,7 @@ module.exports=[ ["fe40","兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩"] ] -},{}],1088:[function(require,module,exports){ +},{}],1092:[function(require,module,exports){ module.exports=[ ["0","\u0000",127], ["8141","갂갃갅갆갋",4,"갘갞갟갡갢갣갥",6,"갮갲갳갴"], @@ -215543,7 +215605,7 @@ module.exports=[ ["fda1","爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰"] ] -},{}],1089:[function(require,module,exports){ +},{}],1093:[function(require,module,exports){ module.exports=[ ["0","\u0000",127], ["a140"," ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚"], @@ -215722,7 +215784,7 @@ module.exports=[ ["f9a1","龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓"] ] -},{}],1090:[function(require,module,exports){ +},{}],1094:[function(require,module,exports){ module.exports=[ ["0","\u0000",127], ["8ea1","。",62], @@ -215906,9 +215968,9 @@ module.exports=[ ["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"] ] -},{}],1091:[function(require,module,exports){ +},{}],1095:[function(require,module,exports){ module.exports={"uChars":[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],"gbChars":[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189000]} -},{}],1092:[function(require,module,exports){ +},{}],1096:[function(require,module,exports){ module.exports=[ ["a140","",62], ["a180","",32], @@ -215965,7 +216027,7 @@ module.exports=[ ["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93] ] -},{}],1093:[function(require,module,exports){ +},{}],1097:[function(require,module,exports){ module.exports=[ ["0","\u0000",128], ["a1","。",62], @@ -216092,7 +216154,7 @@ module.exports=[ ["fc40","髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"] ] -},{}],1094:[function(require,module,exports){ +},{}],1098:[function(require,module,exports){ "use strict"; var Buffer = require("safer-buffer").Buffer; @@ -216271,7 +216333,7 @@ function detectEncoding(buf, defaultEncoding) { -},{"safer-buffer":994}],1095:[function(require,module,exports){ +},{"safer-buffer":998}],1099:[function(require,module,exports){ "use strict"; var Buffer = require("safer-buffer").Buffer; @@ -216563,7 +216625,7 @@ Utf7IMAPDecoder.prototype.end = function() { -},{"safer-buffer":994}],1096:[function(require,module,exports){ +},{"safer-buffer":998}],1100:[function(require,module,exports){ "use strict"; var BOMChar = '\uFEFF'; @@ -216617,7 +216679,7 @@ StripBOMWrapper.prototype.end = function() { } -},{}],1097:[function(require,module,exports){ +},{}],1101:[function(require,module,exports){ (function (process){(function (){ "use strict"; @@ -216774,7 +216836,7 @@ if ("Ā" != "\u0100") { } }).call(this)}).call(this,require('_process')) -},{"../encodings":1081,"./bom-handling":1096,"./extend-node":77,"./streams":77,"_process":974,"safer-buffer":994}],1098:[function(require,module,exports){ +},{"../encodings":1085,"./bom-handling":1100,"./extend-node":81,"./streams":81,"_process":978,"safer-buffer":998}],1102:[function(require,module,exports){ "use strict"; const parse = require("./parser.js"); const serialize = require("./serializer.js"); @@ -216967,7 +217029,7 @@ class MIMETypeParameters { } } -},{"./parser.js":1099,"./serializer.js":1100,"./utils.js":1101}],1099:[function(require,module,exports){ +},{"./parser.js":1103,"./serializer.js":1104,"./utils.js":1105}],1103:[function(require,module,exports){ "use strict"; const { removeLeadingAndTrailingHTTPWhitespace, @@ -217093,7 +217155,7 @@ module.exports = input => { return mimeType; }; -},{"./utils.js":1101}],1100:[function(require,module,exports){ +},{"./utils.js":1105}],1104:[function(require,module,exports){ "use strict"; const { solelyContainsHTTPTokenCodePoints } = require("./utils.js"); @@ -217120,7 +217182,7 @@ module.exports = mimeType => { return serialization; }; -},{"./utils.js":1101}],1101:[function(require,module,exports){ +},{"./utils.js":1105}],1105:[function(require,module,exports){ "use strict"; exports.removeLeadingAndTrailingHTTPWhitespace = string => { @@ -217147,9 +217209,9 @@ exports.asciiLowercase = string => { return string.replace(/[A-Z]/g, l => l.toLowerCase()); }; -},{}],1102:[function(require,module,exports){ -arguments[4][441][0].apply(exports,arguments) -},{"./utils.js":1112,"dup":441,"webidl-conversions":1075}],1103:[function(require,module,exports){ +},{}],1106:[function(require,module,exports){ +arguments[4][445][0].apply(exports,arguments) +},{"./utils.js":1116,"dup":445,"webidl-conversions":1079}],1107:[function(require,module,exports){ "use strict"; const usm = require("./url-state-machine"); const urlencoded = require("./urlencoded"); @@ -217368,7 +217430,7 @@ exports.implementation = class URLImpl { } }; -},{"./URLSearchParams":1106,"./url-state-machine":1110,"./urlencoded":1111}],1104:[function(require,module,exports){ +},{"./URLSearchParams":1110,"./url-state-machine":1114,"./urlencoded":1115}],1108:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -217787,7 +217849,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("./URL-impl.js"); -},{"./URL-impl.js":1103,"./utils.js":1112,"webidl-conversions":1075}],1105:[function(require,module,exports){ +},{"./URL-impl.js":1107,"./utils.js":1116,"webidl-conversions":1079}],1109:[function(require,module,exports){ "use strict"; const stableSortBy = require("lodash/sortBy"); const urlencoded = require("./urlencoded"); @@ -217911,7 +217973,7 @@ exports.implementation = class URLSearchParamsImpl { } }; -},{"./urlencoded":1111,"lodash/sortBy":913}],1106:[function(require,module,exports){ +},{"./urlencoded":1115,"lodash/sortBy":917}],1110:[function(require,module,exports){ "use strict"; const conversions = require("webidl-conversions"); @@ -218370,7 +218432,7 @@ exports.install = (globalObject, globalNames) => { const Impl = require("./URLSearchParams-impl.js"); -},{"./Function.js":1102,"./URLSearchParams-impl.js":1105,"./utils.js":1112,"webidl-conversions":1075}],1107:[function(require,module,exports){ +},{"./Function.js":1106,"./URLSearchParams-impl.js":1109,"./utils.js":1116,"webidl-conversions":1079}],1111:[function(require,module,exports){ (function (global){(function (){ "use strict"; let { TextEncoder, TextDecoder } = require("util"); @@ -218400,7 +218462,7 @@ module.exports = { }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"util":1063}],1108:[function(require,module,exports){ +},{"util":1067}],1112:[function(require,module,exports){ "use strict"; // Note that we take code points as JS numbers, not JS strings. @@ -218428,7 +218490,7 @@ module.exports = { isASCIIHex }; -},{}],1109:[function(require,module,exports){ +},{}],1113:[function(require,module,exports){ (function (Buffer){(function (){ "use strict"; const { isASCIIHex } = require("./infra"); @@ -218573,7 +218635,7 @@ module.exports = { }; }).call(this)}).call(this,require("buffer").Buffer) -},{"./encoding":1107,"./infra":1108,"buffer":124}],1110:[function(require,module,exports){ +},{"./encoding":1111,"./infra":1112,"buffer":128}],1114:[function(require,module,exports){ "use strict"; const punycode = require("punycode"); const tr46 = require("tr46"); @@ -219785,7 +219847,7 @@ module.exports.parseURL = function (input, options) { return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); }; -},{"./encoding":1107,"./infra":1108,"./percent-encoding":1109,"punycode":984,"tr46":1051}],1111:[function(require,module,exports){ +},{"./encoding":1111,"./infra":1112,"./percent-encoding":1113,"punycode":988,"tr46":1055}],1115:[function(require,module,exports){ "use strict"; const { utf8Encode, utf8DecodeWithoutBOM } = require("./encoding"); const { percentDecodeBytes, utf8PercentEncodeString, isURLEncodedPercentEncode } = require("./percent-encoding"); @@ -219889,9 +219951,9 @@ module.exports = { serializeUrlencoded }; -},{"./encoding":1107,"./percent-encoding":1109}],1112:[function(require,module,exports){ -arguments[4][591][0].apply(exports,arguments) -},{"dup":591}],1113:[function(require,module,exports){ +},{"./encoding":1111,"./percent-encoding":1113}],1116:[function(require,module,exports){ +arguments[4][595][0].apply(exports,arguments) +},{"dup":595}],1117:[function(require,module,exports){ "use strict"; const { URL, URLSearchParams } = require("./webidl2js-wrapper"); @@ -219917,7 +219979,7 @@ exports.cannotHaveAUsernamePasswordPort = urlStateMachine.cannotHaveAUsernamePas exports.percentDecode = percentEncoding.percentDecodeBytes; -},{"./dist/percent-encoding":1109,"./dist/url-state-machine":1110,"./webidl2js-wrapper":1114}],1114:[function(require,module,exports){ +},{"./dist/percent-encoding":1113,"./dist/url-state-machine":1114,"./webidl2js-wrapper":1118}],1118:[function(require,module,exports){ "use strict"; const URL = require("./dist/URL"); @@ -219926,7 +219988,7 @@ const URLSearchParams = require("./dist/URLSearchParams"); exports.URL = URL; exports.URLSearchParams = URLSearchParams; -},{"./dist/URL":1104,"./dist/URLSearchParams":1106}],1115:[function(require,module,exports){ +},{"./dist/URL":1108,"./dist/URLSearchParams":1110}],1119:[function(require,module,exports){ (function (global){(function (){ 'use strict'; @@ -219986,7 +220048,7 @@ module.exports = function whichTypedArray(value) { }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"available-typed-arrays":73,"call-bind/callBound":126,"es-abstract/helpers/getOwnPropertyDescriptor":261,"foreach":282,"has-symbols":288,"is-typed-array":332}],1116:[function(require,module,exports){ +},{"available-typed-arrays":77,"call-bind/callBound":130,"es-abstract/helpers/getOwnPropertyDescriptor":265,"foreach":286,"has-symbols":292,"is-typed-array":336}],1120:[function(require,module,exports){ module.exports = (function(){function _waka(parser, startRule) { if(startRule && ! parser.rules[startRule]) throw new Error('start rule missing: ' + JSON.stringify(startRule)) @@ -220491,7 +220553,7 @@ return { rules: _rules, } })(),null)})() -},{}],1117:[function(require,module,exports){ +},{}],1121:[function(require,module,exports){ "use strict"; const parser = require("./generated-parser.js"); @@ -220510,7 +220572,7 @@ function mapResult(result) { }; } -},{"./generated-parser.js":1116}],1118:[function(require,module,exports){ +},{"./generated-parser.js":1120}],1122:[function(require,module,exports){ "use strict"; /** * Character classes and associated utilities for the 5th edition of XML 1.0. @@ -220616,7 +220678,7 @@ function isNameChar(c) { } exports.isNameChar = isNameChar; -},{}],1119:[function(require,module,exports){ +},{}],1123:[function(require,module,exports){ "use strict"; /** * Character classes and associated utilities for the 2nd edition of XML 1.1. @@ -220762,7 +220824,7 @@ function isNameChar(c) { } exports.isNameChar = isNameChar; -},{}],1120:[function(require,module,exports){ +},{}],1124:[function(require,module,exports){ "use strict"; /** * Character class utilities for XML NS 1.0 edition 3. @@ -220828,7 +220890,7 @@ function isNCNameChar(c) { } exports.isNCNameChar = isNCNameChar; -},{}],1121:[function(require,module,exports){ +},{}],1125:[function(require,module,exports){ module.exports = extend var hasOwnProperty = Object.prototype.hasOwnProperty; @@ -220849,7 +220911,7 @@ function extend() { return target } -},{}],1122:[function(require,module,exports){ +},{}],1126:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -220887,7 +220949,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * the abstract contraint defines the api for all constraints. mainly the method isValid() is defined. + * The abstract constraint defines the api for all constraints. mainly the method isValid() is defined. * * derived classes must implement the method isValid(). * @@ -220928,7 +220990,7 @@ exports.AbstractConstraint = AbstractConstraint; _namespace.Monster.assignToNamespace('Monster.Constraints', AbstractConstraint); -},{"../namespace.js":1143,"../types/base.js":1144,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1123:[function(require,module,exports){ +},{"../namespace.js":1151,"../types/base.js":1152,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1127:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -221001,7 +221063,7 @@ exports.AbstractOperator = AbstractOperator; _abstract.Monster.assignToNamespace('Monster.Constraints', AbstractOperator); -},{"./abstract.js":1122,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1124:[function(require,module,exports){ +},{"./abstract.js":1126,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1128:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -221043,8 +221105,8 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; - * new Monster.Constraint.AndOperator(new Monster.Constraint.Valid(), new Monster.Constraint.Valid()).then(()=>console.log(true)).catch(()=>console.log(false)); + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; + * new Monster.Constraint.AndOperator(); * </script> * ``` * @@ -221052,11 +221114,28 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/valid.js'; - * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js'; - * new AndOperator(new Valid(), new Valid()).then(()=>console.log(true)).catch(()=>console.log(false)); + * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; + * new AndOperator(); * </script> * ``` + * + * @example + * + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js'; + * + * new AndOperator( + * new Valid(), new Valid()).isValid() + * .then(()=>console.log(true)) + * .catch(()=>console.log(false)); + * // ↦ true + * + * new AndOperator( + * new Invalid(), new Valid()).isValid() + * .then(()=>console.log(true)) + * .catch(()=>console.log(false)); + * // ↦ false * * @since 1.3.0 * @copyright schukai GmbH @@ -221092,7 +221171,7 @@ exports.AndOperator = AndOperator; _abstract.Monster.assignToNamespace('Monster.Constraints', AndOperator); -},{"./abstract.js":1122,"./abstractoperator.js":1123,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1125:[function(require,module,exports){ +},{"./abstract.js":1126,"./abstractoperator.js":1127,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1129:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -221128,14 +221207,14 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * the invalid constraint allows an always invalid query to be performed. this contraint is mainly intended for testing. + * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing. * - * you can call the method via the monster namespace `new Monster.Constraint.Invalid()`. + * You can call the method via the monster namespace `new Monster.Constraint.Invalid()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; - * new Monster.Constraint.Invalid().catch(()=>console.log(true)); + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * new Monster.Constraint.Invalid(); * </script> * ``` * @@ -221143,11 +221222,20 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js'; - * new Invalid().catch(()=>console.log(true)); + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * new Invalid(); * </script> * ``` * + * @example + * + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * + * new Invalid().isValid() + * .then(()=>console.log(true)) + * .catch(()=>console.log(false)); + * // ↦ false + * * @since 1.3.0 * @copyright schukai GmbH * @memberOf Monster/Constraints @@ -221182,7 +221270,7 @@ exports.Invalid = Invalid; _abstract.Monster.assignToNamespace('Monster.Constraints', Invalid); -},{"./abstract.js":1122,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1126:[function(require,module,exports){ +},{"./abstract.js":1126,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1130:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -221220,11 +221308,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * you can call the method via the monster namespace `new Monster.Constraint.IsObject()`. + * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; * console.log(new Monster.Constraint.IsArray()) * </script> * ``` @@ -221233,10 +221321,24 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js'; + * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; * console.log(new IsArray()) * </script> * ``` + * + * @example + * + * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js'; + * + * new IsArray() + * .isValid([]) + * .then(()=>console.log(true)); + * // ↦ true + * + * new IsArray() + * .isValid(99) + * .catch(e=>console.log(e)); + * // ↦ 99 * * @since 1.3.0 * @copyright schukai GmbH @@ -221276,7 +221378,7 @@ exports.IsArray = IsArray; _abstract.Monster.assignToNamespace('Monster.Constraints', IsArray); -},{"../types/is.js":1147,"./abstract.js":1122,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1127:[function(require,module,exports){ +},{"../types/is.js":1155,"./abstract.js":1126,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1131:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -221314,11 +221416,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * you can call the method via the monster namespace `new Monster.Constraint.IsObject()`. + * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; * console.log(new Monster.Constraint.IsObject()) * </script> * ``` @@ -221327,10 +221429,25 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js'; + * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; * console.log(new IsObject()) * </script> * ``` + * + * @example + * + * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js'; + * + * new IsObject() + * .isValid({}) + * .then(()=>console.log(true)); + * // ↦ true + * + * + * new IsObject() + * .isValid(99) + * .catch(e=>console.log(e)); + * // ↦ 99 * * @since 1.3.0 * @copyright schukai GmbH @@ -221370,7 +221487,7 @@ exports.IsObject = IsObject; _abstract.Monster.assignToNamespace('Monster.Constraints', IsObject); -},{"../types/is.js":1147,"./abstract.js":1122,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1128:[function(require,module,exports){ +},{"../types/is.js":1155,"./abstract.js":1126,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1132:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -221410,8 +221527,8 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js'; - * new Monster.Constraint.OrOperator(new Monster.Constraint.Valid(), new Monster.Constraint.Valid()).then(()=>console.log(true)).catch(()=>console.log(false)); + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js'; + * new Monster.Constraint.OrOperator(); * </script> * ``` * @@ -221419,12 +221536,29 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/valid.js'; - * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js'; - * new OrOperator(new Valid(), new Valid()).then(()=>console.log(true)).catch(()=>console.log(false)); + * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js'; + * new OrOperator(); * </script> * ``` * + * @example + * + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js'; + * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js'; + * + * new OrOperator( + * new Valid(), new Invalid()).isValid() + * .then(()=>console.log(true)) + * .catch(()=>console.log(false)); + * // ↦ true + * + * new OrOperator( + * new Invalid(), new Invalid()).isValid() + * .then(()=>console.log(true)) + * .catch(()=>console.log(false)); + * // ↦ false + * * @since 1.3.0 * @copyright schukai GmbH * @memberOf Monster/Constraints @@ -221482,7 +221616,7 @@ exports.OrOperator = OrOperator; _abstractoperator.Monster.assignToNamespace('Monster.Constraints', OrOperator); -},{"./abstractoperator.js":1123,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1129:[function(require,module,exports){ +},{"./abstractoperator.js":1127,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1133:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -221518,14 +221652,14 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * the valid constraint allows an always valid query to be performed. this contraint is mainly intended for testing. + * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing. * - * you can call the method via the monster namespace `new Monster.Constraint.Valid()`. + * You can call the method via the monster namespace `new Monster.Constraint.Valid()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; - * new Monster.Constraint.Valid().then(()=>console.log(true)); + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * new Monster.Constraint.Valid(); * </script> * ``` * @@ -221533,10 +221667,19 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js'; - * new Valid().then(()=>console.log(true)); + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * new Valid(); * </script> * ``` + * + * @example + * + * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js'; + * + * new Valid().isValid() + * .then(()=>console.log(true)) + * .catch(()=>console.log(false)); + * // ↦ true * * @since 1.3.0 * @copyright schukai GmbH @@ -221572,7 +221715,203 @@ exports.Valid = Valid; _abstract.Monster.assignToNamespace('Monster.Constraints', Valid); -},{"./abstract.js":1122,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1130:[function(require,module,exports){ +},{"./abstract.js":1126,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1134:[function(require,module,exports){ +'use strict'; +/** + * @author schukai GmbH + */ + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +var _typeof = require("@babel/runtime/helpers/typeof"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.buildMap = buildMap; +Object.defineProperty(exports, "Monster", { + enumerable: true, + get: function get() { + return _namespace.Monster; + } +}); + +var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); + +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); + +var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf")); + +var _namespace = require("../namespace.js"); + +var _is = require("../types/is.js"); + +var _validate = require("../types/validate.js"); + +var _pathfinder = require("./pathfinder.js"); + +function _wrapRegExp() { _wrapRegExp = function _wrapRegExp(re, groups) { return new BabelRegExp(re, undefined, groups); }; var _super = RegExp.prototype; var _groups = new WeakMap(); function BabelRegExp(re, flags, groups) { var _this = new RegExp(re, flags); _groups.set(_this, groups || _groups.get(re)); return (0, _setPrototypeOf2["default"])(_this, BabelRegExp.prototype); } (0, _inherits2["default"])(BabelRegExp, RegExp); BabelRegExp.prototype.exec = function (str) { var result = _super.exec.call(this, str); if (result) result.groups = buildGroups(result, this); return result; }; BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { if (typeof substitution === "string") { var groups = _groups.get(this); return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) { return "$" + groups[name]; })); } else if (typeof substitution === "function") { var _this = this; return _super[Symbol.replace].call(this, str, function () { var args = arguments; if (_typeof(args[args.length - 1]) !== "object") { args = [].slice.call(args); args.push(buildGroups(args, _this)); } return substitution.apply(this, args); }); } else { return _super[Symbol.replace].call(this, str, substitution); } }; function buildGroups(result, re) { var g = _groups.get(re); return Object.keys(g).reduce(function (groups, name) { groups[name] = result[g[name]]; return groups; }, Object.create(null)); } return _wrapRegExp.apply(this, arguments); } + +/** + * With the help of the function `buildMap()`, maps can be easily created from data objects. + * + * Either a simple definition `a.b.c` or a template `${a.b.c}` can be specified as the path. + * Key and value can be either a definition or a template. The key does not have to be defined. + * + * You can call the method via the monster namespace `Monster.Data.buildMap()`. + * + * ``` + * <script type="module"> + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/buildmap.js'; + * console.log(Monster.Data.buildMap()) + * </script> + * ``` + * + * Alternatively, you can also integrate this function individually. + * + * ``` + * <script type="module"> + * import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/buildmap.js'; + * console.log(buildMap()) + * </script> + * ``` + * + * @example + * + * // a typical data structure as reported by an api + * + * let map; + * let obj = { + * "data": [ + * { + * "id": 10, + * "name": "Cassandra", + * "address": { + * "street": "493-4105 Vulputate Street", + * "city": "Saumur", + * "zip": "52628" + * } + * }, + * { + * "id": 20, + * "name": "Holly", + * "address": { + * "street": "1762 Eget Rd.", + * "city": "Schwalbach", + * "zip": "952340" + * } + * }, + * { + * "id": 30, + * "name": "Guy", + * "address": { + * "street": "957-388 Sollicitudin Avenue", + * "city": "Panchià", + * "zip": "420729" + * } + * } + * ] + * }; + * + * // The function is passed this data structure and with the help of the selector `'data.*'` the data to be considered are selected. + * // The key is given by a simple definition `'id'` and the value is given by a template `'${name} (${address.zip} ${address.city})'`. + * map = buildMap(obj, 'data.*', '${name} (${address.zip} ${address.city})', 'id'); + * console.log(map); + * + * // ↦ Map(3) { + * // '10' => 'Cassandra (52628 Saumur)', + * // '20' => 'Holly (952340 Schwalbach)', + * // '30' => 'Guy (420729 Panchià)' + * // } + * + * // If no key is specified, the key from the selection, here the array index, is taken. + * map = buildMap(obj, 'data.*', '${name} (${address.zip} ${address.city})'); + * console.log(map); + * + * // ↦ Map(3) { + * // '0' => 'Cassandra (52628 Saumur)', + * // '1' => 'Holly (952340 Schwalbach)', + * // '2' => 'Guy (420729 Panchià)' + * // } + * + * // a filter (function(value, key) {}) can be specified to accept only defined entries. + * map = buildMap(obj, 'data.*', '${name} (${address.zip} ${address.city})', 'id', function (value, key) { + * return (value['id'] >= 20) ? true : false + * }); + * console.log(map); + * + * // ↦ Map(2) { + * // 20 => 'Holly (952340 Schwalbach)', + * // 30 => 'Guy (420729 Panchià)' + * // } + * + * @param {*} subject + * @param {string} selector + * @param {string|undefined} valuePath + * @param {string|undefined} keyPath + * @param {function|undefined} filter + * @return {*} + */ +function buildMap(subject, selector, valuePath, keyPath, filter) { + (0, _validate.validateString)(selector); + var result = new Map(); + var finder = new _pathfinder.Pathfinder(subject); + var map = finder.getVia(selector); + + if (!(map instanceof Map)) { + return result; + } + + map.forEach(function (v, k, m) { + if ((0, _is.isFunction)(filter)) { + if (filter.call(m, v, k) !== true) return; + } + + k = build(v, keyPath, k); + v = build(v, valuePath); + result.set(k, v); + }); + return result; +} +/** + * @private + * @param {*} subject + * @param {string|undefined} definition + * @param {*} defaultValue + * @return {*} + */ + + +function build(subject, definition, defaultValue) { + if (definition === undefined) return defaultValue ? defaultValue : subject; + (0, _validate.validateString)(definition); + + var regexp = /*#__PURE__*/_wrapRegExp(/(\$\{([\x2D\.a-z]*)\})/gm, { + placeholder: 1, + path: 2 + }); + + var array = (0, _toConsumableArray2["default"])(definition.matchAll(regexp)); + var finder = new _pathfinder.Pathfinder(subject); + + if (array.length === 0) { + return finder.getVia(definition); + } + + array.forEach(function (a) { + var groups = a === null || a === void 0 ? void 0 : a['groups']; + var placeholder = groups === null || groups === void 0 ? void 0 : groups['placeholder']; + if (placeholder === undefined) return; + var path = groups === null || groups === void 0 ? void 0 : groups['path']; + var v = finder.getVia(path); + definition = definition.replaceAll(placeholder, v); + }); + return definition; +} + +_namespace.Monster.assignToNamespace('Monster.Data', buildMap); + +},{"../namespace.js":1151,"../types/is.js":1155,"../types/validate.js":1165,"./pathfinder.js":1136,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/setPrototypeOf":20,"@babel/runtime/helpers/toConsumableArray":23,"@babel/runtime/helpers/typeof":24}],1135:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -221600,11 +221939,11 @@ var _is = require("../types/is.js"); * * The operator `add` means that something has been added to the second object. `delete` means that something has been deleted from the second object compared to the first object. * - * you can call the method via the monster namespace `Monster.Data.Diff()`. + * You can call the method via the monster namespace `Monster.Data.Diff()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; * console.log(Monster.Data.Diff(a, b)) * </script> * ``` @@ -221613,14 +221952,17 @@ var _is = require("../types/is.js"); * * ``` * <script type="module"> - * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js'; + * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; * console.log(Diff(a, b)) * </script> * ``` * - * given are two objects x and y. + * @example + * + * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js'; + * + * // given are two objects x and y. * - * ``` * let x = { * a: 1, * b: "Hello!" @@ -221630,36 +221972,32 @@ var _is = require("../types/is.js"); * a: 2, * c: true * } - * ``` - * - * These two objects can be compared with each other. * - * ``` - * console.log(Diff(x, y)); - * ``` - * - * the result is then the following - * - * ``` - * [ - * { - * operator: 'update', - * path: [ 'a' ], - * first: { value: 1, type: 'number' }, - * second: { value: 2, type: 'number' } - * }, - * { - * operator: 'delete', - * path: [ 'b' ], - * first: { value: 'Hello!', type: 'string' } - * }, - * { - * operator: 'add', - * path: [ 'c' ], - * second: { value: true, type: 'boolean' } - * } - * ] - * ``` + * // These two objects can be compared with each other. + * + * console.log(Diff(x, y)); + * + * // the result is then the following + * + * // + * // [ + * // { + * // operator: 'update', + * // path: [ 'a' ], + * // first: { value: 1, type: 'number' }, + * // second: { value: 2, type: 'number' } + * // }, + * // { + * // operator: 'delete', + * // path: [ 'b' ], + * // first: { value: 'Hello!', type: 'string' } + * // }, + * // { + * // operator: 'add', + * // path: [ 'c' ], + * // second: { value: true, type: 'boolean' } + * // } + * // ] * * @param {*} first * @param {*} second @@ -221837,7 +222175,7 @@ function getOperator(a, b) { _is.Monster.assignToNamespace('Monster.Data', Diff); -},{"../types/is.js":1147,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20}],1131:[function(require,module,exports){ +},{"../types/is.js":1155,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24}],1136:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -221860,6 +222198,8 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); +var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); + var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); @@ -221892,11 +222232,17 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re */ var DELIMITER = '.'; /** - * you can call the method via the monster namespace `new Monster.Data.Pathfinder()`. + * @private + * @type {string} + */ + +var WILDCARD = '*'; +/** + * You can call the method via the monster namespace `new Monster.Data.Pathfinder()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; * console.log(new Monster.Data.Pathfinder()) * </script> * ``` @@ -221905,7 +222251,7 @@ var DELIMITER = '.'; * * ``` * <script type="module"> - * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js'; + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; * console.log(new Pathfinder()) * </script> * ``` @@ -221945,6 +222291,54 @@ var DELIMITER = '.'; * new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}} * ``` * + * @example + * + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; + * + * let value = new Pathfinder({ + * a: { + * b: { + * f: [ + * { + * g: false, + * } + * ], + * } + * } + * }).getVia("a.b.f.0.g"); + * + * console.log(value); + * // ↦ false + * + * try { + * new Pathfinder({}).getVia("a.b.f.0.g"); + * } catch(e) { + * console.log(e.toString()); + * // ↦ Error: the journey is not at its end (b.f.0.g) + * } + * + * @example + * + * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js'; + * + * let p = new Pathfinder({ + * a: { + * x: [ + * {c: 1}, {c: 2} + * ], + * y: true + * }, + * b: { + * x: [ + * {c: 1, d: false}, {c: 2} + * ], + * y: true + * }, + * }); + * + * let r = p.getVia("*.x.*.c"); + * console.log(r); + * * @since 1.4.0 * @copyright schukai GmbH * @memberOf Monster/Data @@ -221965,26 +222359,42 @@ var Pathfinder = /*#__PURE__*/function (_Base) { (0, _classCallCheck2["default"])(this, Pathfinder); _this = _super.call(this); _this.object = object; + _this.wildCard = WILDCARD; return _this; } /** + * set wildcard * - * @param {string} path - * @since 1.4.0 - * @returns {*} - * @throws {TypeError} unsupported type - * @throws {Error} the journey is not at its end - * @throws {TypeError} value is not a string - * @throws {TypeError} value is not an integer - * @throws {Error} unsupported action for this data type + * @param {string} wildcard + * @return {Pathfinder} + * @since 1.7.0 */ (0, _createClass2["default"])(Pathfinder, [{ + key: "setWildCard", + value: function setWildCard(wildcard) { + (0, _validate.validateString)(wildcard); + this.wildCard = wildcard; + return this; + } + /** + * + * @param {string} path + * @since 1.4.0 + * @returns {*} + * @throws {TypeError} unsupported type + * @throws {Error} the journey is not at its end + * @throws {TypeError} value is not a string + * @throws {TypeError} value is not an integer + * @throws {Error} unsupported action for this data type + */ + + }, { key: "getVia", value: function getVia(path) { (0, _validate.validateString)(path); - return getValueViaPath(this.object, path); + return getValueViaPath.call(this, this.object, path); } /** * @@ -222002,7 +222412,7 @@ var Pathfinder = /*#__PURE__*/function (_Base) { key: "setVia", value: function setVia(path, value) { (0, _validate.validateString)(path); - setValueViaPath(this.object, path, value); + setValueViaPath.call(this, this.object, path, value); return this; } /** @@ -222021,7 +222431,7 @@ var Pathfinder = /*#__PURE__*/function (_Base) { key: "deleteVia", value: function deleteVia(path) { (0, _validate.validateString)(path); - deleteValueViaPath(this.object, path); + deleteValueViaPath.call(this, this.object, path); return this; } /** @@ -222040,7 +222450,7 @@ var Pathfinder = /*#__PURE__*/function (_Base) { (0, _validate.validateString)(path); try { - getValueViaPath(this.object, path, true); + getValueViaPath.call(this, this.object, path, true); return true; } catch (e) {} @@ -222056,7 +222466,37 @@ _namespace.Monster.assignToNamespace('Monster.Data', Pathfinder); /** * - * @param {*} object + * @param {*} subject + * @param {string} path + * @param {string} check + * @return {Map} + * @throws {TypeError} unsupported type + * @throws {Error} the journey is not at its end + * @throws {Error} unsupported action for this data type + * @private + */ +function iterate(subject, path, check) { + var result = new Map(); + + if ((0, _is.isObject)(subject) || (0, _is.isArray)(subject)) { + for (var _i = 0, _Object$entries = Object.entries(subject); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2), + key = _Object$entries$_i[0], + value = _Object$entries$_i[1]; + + result.set(key, getValueViaPath.call(this, value, path, check)); + } + } else { + var _key = path.split(DELIMITER).shift(); + + result.set(_key, getValueViaPath.call(this, subject, path, check)); + } + + return result; +} +/** + * + * @param {*} subject * @param [string} path * @param [boolean} check * @returns {*} @@ -222065,51 +222505,57 @@ _namespace.Monster.assignToNamespace('Monster.Data', Pathfinder); * @throws {Error} unsupported action for this data type * @private */ -function getValueViaPath(object, path, check) { + + +function getValueViaPath(subject, path, check) { if (path === "") { - return object; + return subject; } var parts = path.split(DELIMITER); var current = parts.shift(); - if ((0, _is.isObject)(object) || (0, _is.isArray)(object)) { + if (current === this.wildCard) { + return iterate.call(this, subject, parts.join(DELIMITER), check); + } + + if ((0, _is.isObject)(subject) || (0, _is.isArray)(subject)) { var anchor; - if (object instanceof Map || object instanceof WeakMap) { - anchor = object.get(current); - } else if (object instanceof Set || object instanceof WeakSet) { + if (subject instanceof Map || subject instanceof WeakMap) { + anchor = subject.get(current); + } else if (subject instanceof Set || subject instanceof WeakSet) { var _ref; current = parseInt(current); (0, _validate.validateInteger)(current); - anchor = (_ref = (0, _toConsumableArray2["default"])(object)) === null || _ref === void 0 ? void 0 : _ref[current]; - } else if (object instanceof WeakRef) { + anchor = (_ref = (0, _toConsumableArray2["default"])(subject)) === null || _ref === void 0 ? void 0 : _ref[current]; + } else if (subject instanceof WeakRef) { throw Error('unsupported action for this data type'); - } else if ((0, _is.isArray)(object)) { + } else if ((0, _is.isArray)(subject)) { current = parseInt(current); (0, _validate.validateInteger)(current); - anchor = object === null || object === void 0 ? void 0 : object[current]; + anchor = subject === null || subject === void 0 ? void 0 : subject[current]; } else { - anchor = object === null || object === void 0 ? void 0 : object[current]; + anchor = subject === null || subject === void 0 ? void 0 : subject[current]; } if ((0, _is.isObject)(anchor) || (0, _is.isArray)(anchor)) { - return getValueViaPath(anchor, parts.join(DELIMITER), check); + return getValueViaPath.call(this, anchor, parts.join(DELIMITER), check); } if (parts.length > 0) { throw Error("the journey is not at its end (" + parts.join(DELIMITER) + ")"); } - if (check === true && !object.hasOwnProperty(current)) { + if (check === true && !subject.hasOwnProperty(current)) { throw Error('unknown value'); } return anchor; } - throw TypeError("unsupported type"); + throw TypeError("unsupported type " + (0, _typeof2["default"])(subject)); } /** * @@ -222126,6 +222572,7 @@ function getValueViaPath(object, path, check) { function setValueViaPath(object, path, value) { + (0, _validate.validateString)(path); var parts = path.split(DELIMITER); var last = parts.pop(); var subpath = parts.join(DELIMITER); @@ -222134,7 +222581,7 @@ function setValueViaPath(object, path, value) { while (true) { try { - getValueViaPath(object, current, true); + getValueViaPath.call(this, object, current, true); break; } catch (e) {} @@ -222156,10 +222603,10 @@ function setValueViaPath(object, path, value) { } } - setValueViaPath(object, current, obj); + setValueViaPath.call(this, object, current, obj); } - var anchor = getValueViaPath(object, subpath); + var anchor = getValueViaPath.call(this, object, subpath); if (!(0, _is.isObject)(object) && !(0, _is.isArray)(object)) { throw TypeError("unsupported type: " + (0, _typeof2["default"])(object)); @@ -222216,7 +222663,7 @@ function deleteValueViaPath(object, path) { return; } -},{"../namespace.js":1143,"../types/base.js":1144,"../types/is.js":1147,"../types/stack.js":1153,"../types/validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/toConsumableArray":19,"@babel/runtime/helpers/typeof":20}],1132:[function(require,module,exports){ +},{"../namespace.js":1151,"../types/base.js":1152,"../types/is.js":1155,"../types/stack.js":1161,"../types/validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/slicedToArray":21,"@babel/runtime/helpers/toConsumableArray":23,"@babel/runtime/helpers/typeof":24}],1137:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -222235,6 +222682,8 @@ Object.defineProperty(exports, "Monster", { }); exports.Pipe = void 0; +var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); + var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); @@ -222259,13 +222708,13 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re var DELIMITER = '|'; /** - * the pipe class makes it possible to combine several processing steps. + * The pipe class makes it possible to combine several processing steps. * - * you can call the method via the monster namespace `new Monster.Data.Pipe()`. + * You can call the method via the monster namespace `new Monster.Data.Pipe()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; * console.log(new Monster.Data.Pipe()) * </script> * ``` @@ -222274,29 +222723,31 @@ var DELIMITER = '|'; * * ``` * <script type="module"> - * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js'; + * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; * console.log(new Pipe()) * </script> * ``` * - * a pipe consists of commands whose input and output are connected with the pipe symbol `|`. + * A pipe consists of commands whose input and output are connected with the pipe symbol `|`. * - * with the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command). + * With the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command). * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char. * - * ``` + * @example + * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js'; + * * let obj = { - * a: { - * b: { - * c: { - * d: "world" - * } - * } - * } + * a: { + * b: { + * c: { + * d: "world" + * } + * } + * } * } - * - * new Pipe('path:a.b.c.d | toupper | prefix:Hello\\ ').run(obj); // ↦ Hello WORLD - * ``` + * + * console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\ ').run(obj)); + * // ↦ Hello WORLD * * @since 1.5.0 * @copyright schukai GmbH @@ -222325,18 +222776,41 @@ var Pipe = /*#__PURE__*/function (_Base) { return _this; } /** - * run a pipe * - * @param {*} value - * @returns {*} + * @param {string} name + * @param {function} callback + * @returns {Transformer} + * @throws {TypeError} value is not a string + * @throws {TypeError} value is not a function */ (0, _createClass2["default"])(Pipe, [{ + key: "setCallback", + value: function setCallback(name, callback) { + for (var _i = 0, _Object$entries = Object.entries(this.pipe); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2), + t = _Object$entries$_i[1]; + + t.setCallback(name, callback); + } + + return this; // return this.pipe.reduce((accumulator, transformer, currentIndex, array) => { + // return transformer.setCallback(name,callback); + // }, value); + } + /** + * run a pipe + * + * @param {*} value + * @returns {*} + */ + + }, { key: "run", value: function run(value) { - return this.pipe.reduce(function (accumulator, currentValue, currentIndex, array) { - return currentValue.run(accumulator); + return this.pipe.reduce(function (accumulator, transformer, currentIndex, array) { + return transformer.run(accumulator); }, value); } }]); @@ -222347,7 +222821,7 @@ exports.Pipe = Pipe; _namespace.Monster.assignToNamespace('Monster.Data', Pipe); -},{"../namespace.js":1143,"../types/base.js":1144,"../types/validate.js":1156,"./transformer.js":1133,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1133:[function(require,module,exports){ +},{"../namespace.js":1151,"../types/base.js":1152,"../types/validate.js":1165,"./transformer.js":1138,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/slicedToArray":21}],1138:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -222411,13 +222885,13 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * the transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up. + * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up. * - * you can call the method via the monster namespace `new Monster.Data.Transformer()`. + * You can call the method via the monster namespace `new Monster.Data.Transformer()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; * console.log(new Monster.Data.Transformer()) * </script> * ``` @@ -222426,12 +222900,12 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js'; + * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; * console.log(new Transformer()) * </script> * ``` * - * a simple example is the conversion of all characters to lowercase. for this purpose the command tolower must be used. + * A simple example is the conversion of all characters to lowercase. for this purpose the command tolower must be used. * * ``` * let t = new Transformer('tolower').run('ABC'); // ↦ abc @@ -222458,6 +222932,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * | substring | start:length | | Returns a substring | * | suffix | text | | Adds a suffix | * | tointeger | | | Type conversion to an integer value | + * | tojson | | | Type conversion to an JSON string (since 1.8.0) | * | tolower | | strtolower, tolowercase | The input value is converted to lowercase letters | * | tostring | | | Type conversion to a string | * | toupper | | strtoupper, touppercase | The input value is converted to uppercase letters | @@ -222469,7 +222944,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * (*) for this functionality the extension [jsdom](https://www.npmjs.com/package/jsdom) must be loaded in the nodejs context. * - * ``` + * ``` * // polyfill * if (typeof window !== "object") { * const {window} = new JSDOM('', { @@ -222491,17 +222966,27 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * 'CustomEvent' * ].forEach(key => (global[key] = window[key])); * } - * ``` + * ``` * - * (**) for this command the crypt library is necessary in the nodejs context. + * (**) for this command the crypt library is necessary in the nodejs context. * - * ``` - * import * as Crypto from "@peculiar/webcrypto"; - * global['crypto'] = new Crypto.Crypto(); - * ``` + * ``` + * import * as Crypto from "@peculiar/webcrypto"; + * global['crypto'] = new Crypto.Crypto(); + * ``` * + * @example + * + * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js'; + * + * const transformer = new Transformer("tolower") + * + * console.log(transformer.run("HELLO")) + * // ↦ hello + * + * console.log(transformer.run("WORLD")) + * // ↦ world * - * * @since 1.5.0 * @copyright schukai GmbH * @memberOf Monster/Data @@ -222690,6 +223175,9 @@ function transform(value) { (0, _validate.validateInteger)(n); return n; + case 'tojson': + return JSON.stringify(value); + case 'trim': (0, _validate.validateString)(value); return value.trim(); @@ -222708,7 +223196,7 @@ function transform(value) { var callback; var callbackName = args.shift(); - if ((0, _is.isObject)(value) && calue.hasOwnProperty(callbackName)) { + if ((0, _is.isObject)(value) && value.hasOwnProperty(callbackName)) { callback = value[callbackName]; } else if (this.callbacks.has(callbackName)) { callback = this.callbacks.get(callbackName); @@ -222831,13 +223319,13 @@ function transform(value) { return value; default: - throw new Error("unknown command"); + throw new Error("unknown command " + this.command); } return value; } -},{"../namespace.js":1143,"../types/base.js":1144,"../types/id.js":1146,"../types/is.js":1147,"../types/validate.js":1156,"../util/clone.js":1158,"./pathfinder.js":1131,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/setPrototypeOf":17,"@babel/runtime/helpers/toConsumableArray":19,"@babel/runtime/helpers/typeof":20}],1134:[function(require,module,exports){ +},{"../namespace.js":1151,"../types/base.js":1152,"../types/id.js":1154,"../types/is.js":1155,"../types/validate.js":1165,"../util/clone.js":1167,"./pathfinder.js":1136,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/setPrototypeOf":20,"@babel/runtime/helpers/toConsumableArray":23,"@babel/runtime/helpers/typeof":24}],1139:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -222890,7 +223378,7 @@ var ATTRIBUTEPREFIX = "data-monster-"; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js'; * console.log(new Monster.DOM.Assembler()) * </script> * ``` @@ -222899,7 +223387,7 @@ var ATTRIBUTEPREFIX = "data-monster-"; * * ``` * <script type="module"> - * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js'; + * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js'; * console.log(new Assembler()) * </script> * ``` @@ -222983,7 +223471,106 @@ exports.Assembler = Assembler; _base.Monster.assignToNamespace('Monster.DOM', Assembler); -},{"../types/base.js":1144,"../types/global.js":1145,"../types/proxyobserver.js":1150,"../types/validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1135:[function(require,module,exports){ +},{"../types/base.js":1152,"../types/global.js":1153,"../types/proxyobserver.js":1158,"../types/validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1140:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "Monster", { + enumerable: true, + get: function get() { + return _namespace.Monster; + } +}); +exports.ATTRIBUTE_UPDATER_REMOVE = exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE = exports.ATTRIBUTE_UPDATER_INSERT = exports.ATTRIBUTE_UPDATER_REPLACE = exports.ATTRIBUTE_UPDATER_ATTRIBUTES = exports.ATTRIBUTE_THEME_NAME = exports.ATTRIBUTE_THEME_PREFIX = exports.DEFAULT_THEME = exports.ATTRIBUTE_OPTIONS = exports.ATTRIBUTE_PREFIX = void 0; + +var _namespace = require("../namespace.js"); + +/** + * @author schukai GmbH + */ + +/** + * @memberOf Monster/DOM + * @since 1.8.0 + * @type {string} + */ +var ATTRIBUTE_PREFIX = 'data-monster-'; +/** + * @memberOf Monster/DOM + * @since 1.8.0 + * @type {string} + */ + +exports.ATTRIBUTE_PREFIX = ATTRIBUTE_PREFIX; +var ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options'; +/** + * default theme + * @memberOf Monster/DOM + * @type {string} + */ + +exports.ATTRIBUTE_OPTIONS = ATTRIBUTE_OPTIONS; +var DEFAULT_THEME = 'monster'; +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ + +exports.DEFAULT_THEME = DEFAULT_THEME; +var ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX + 'theme-'; +/** + * @memberOf Monster/DOM + * @type {string} + */ + +exports.ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_THEME_PREFIX; +var ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name'; +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ + +exports.ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_NAME; +var ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes'; +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ + +exports.ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_UPDATER_ATTRIBUTES; +var ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace'; +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ + +exports.ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_UPDATER_REPLACE; +var ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert'; +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ + +exports.ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_UPDATER_INSERT; +var ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference'; +/** + * @memberOf Monster/DOM + * @type {string} + * @since 1.8.0 + */ + +exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_UPDATER_INSERT_REFERENCE; +var ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove'; +exports.ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_UPDATER_REMOVE; + +},{"../namespace.js":1151}],1141:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -223007,6 +223594,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); +var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); + var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); @@ -223015,6 +223604,10 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper")); +var _constants = require("./constants.js"); + +var _template = require("./template.js"); + var _global = require("../types/global.js"); var _validate = require("../types/validate.js"); @@ -223024,11 +223617,16 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** + * To define a new HTML element we need the power of CustomElement + * * you can call the method via the monster namespace `new Monster.DOM.Element()`. * + * important: after defining a `CustomElement`, the `registerCustomElement` method must be called + * with the new class name. only then will the tag defined via the `getTag` method be made known to the DOM. + * * ``` * <script type="module"> - * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/customelement.js'; + * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js'; * console.log(new Monster.DOM.CustomElement()) * </script> * ``` @@ -223037,11 +223635,61 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/customelement.js'; + * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js'; * console.log(new CustomElement()) * </script> * ``` * + * ## Styling + * + * For optimal display of custom-elements the pseudo-class :defined can be used. + * + * ```html + * <style> + * + * my-custom-element:not(:defined) { + * display: none; + * } + * + * my-custom-element:defined { + * display: flex; + * } + * + * </style> + * ``` + * + * + * + * @example + * + * // In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`. + * // You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`. + * + * class MonsterMyElement extends CustomElement { + * + * constructor() { + * super(); + * } + * + * getTemplate() { + * return `<div class="form-check"> + * <label class="form-check-label"> + * <input class="form-check-input" type="checkbox" value=""> + * Checkvalue + * </label> + * </div>` + * } + * + * static getTag() { + * return "monster-my-element" + * } + * + *} + * + * // ↦ <monster-my-element></monster-my-element> + * + * @see https://github.com/WICG/webcomponents + * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements * @since 1.7.0 * @copyright schukai GmbH * @memberOf Monster/DOM @@ -223051,45 +223699,266 @@ var CustomElement = /*#__PURE__*/function (_HTMLElement) { var _super = _createSuper(CustomElement); + /** + * A new object is created. First the `initOptions` method is called. Here the + * options can be defined in derived classes. Subsequently, the shadowRoot is initialized. + * + * @throws {Error} the options attribute does not contain a valid json definition. + */ function CustomElement() { + var _this; + (0, _classCallCheck2["default"])(this, CustomElement); - return _super.call(this); + _this = _super.call(this); + _this._options = Object.assign({}, _this.defaults, getOptionsFromAttributes.call((0, _assertThisInitialized2["default"])(_this))); + + _this.init(); + + return _this; } /** - * - * @return {string} - * @throws {Error} the method getTag must be overwritten by the derived class. + * | option | description | + * |----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + * | shadowMode | `open` Elements of the shadow root are accessible from JavaScript outside the root, for example using. `close` Denies access to the node(s) of a closed shadow root from JavaScript outside it | + * | delegatesFocus | A boolean that, when set to true, specifies behavior that mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling. | + * + * Derived classes can override and extend this method as follows. + * + * ``` + * get defaults() { + * return Object.assign({}, super.defaults, { + * myValue:true + * }); + * } + * ``` + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow + * @return {{shadowMode: string, delegatesFocus: boolean}} + * @since 1.8.0 */ - (0, _createClass2["default"])(CustomElement, null, [{ + (0, _createClass2["default"])(CustomElement, [{ + key: "defaults", + get: function get() { + return { + shadowMode: 'open', + delegatesFocus: true + }; + } + /** + * + * @param {string} key + * @param [*} defaultValue + * @return {*} + * @since 1.8.0 + */ + + }, { + key: "getOption", + value: function getOption(key, defaultValue) { + var _this$_options; + + (0, _validate.validateString)(key); + var v = (_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options[key]; + if (v === undefined) return defaultValue; + return v; + } + /** + * + * @return {CustomElement} + * @since 1.8.0 + */ + + }, { + key: "init", + value: function init() { + initShadowRoot.call(this); + return this; + } + /** + * + * @return {CustomElement} + * @since 1.8.0 + */ + + }, { + key: "assemble", + value: function assemble() { + return this; + } + /** + * + * + * @return {CustomElement} + * @since 1.8.0 + */ + + }, { + key: "disassemble", + value: function disassemble() { + return this; + } + /** + * Called every time the element is inserted into the DOM. Useful for running setup code, such as + * fetching resources or rendering. Generally, you should try to delay work until this time. + * + * @return {void} + */ + + }, { + key: "connectedCallback", + value: function connectedCallback() { + this.assemble(); + } + /** + * Called every time the element is removed from the DOM. Useful for running clean up code. + * + * @return {void} + */ + + }, { + key: "disconnectedCallback", + value: function disconnectedCallback() { + this.disassemble(); + } + /** + * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)). + * + * @return {void} + */ + + }, { + key: "adoptedCallback", + value: function adoptedCallback() {} + /** + * Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial + * values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback. + * + * @param {string} attrName + * @param {string} oldVal + * @param {string} newVal + * @return {void} + */ + + }, { + key: "attributeChangedCallback", + value: function attributeChangedCallback(attrName, oldVal, newVal) { + this.assemble(); + } + /** + * This method defines the default template if no template with the id is found in the dom. + * + * @since 1.8.0 + * @return {string} + * @throws {Error} the method getTemplate must be overwritten by the derived class. + */ + + }], [{ + key: "getTemplate", + value: function getTemplate() { + throw new Error("the method getTemplate must be overwritten by the derived class."); + } + /** + * There is no check on the name by this class. the developer is responsible for assigning an appropriate tag. + * if the name is not valid, registerCustomElement() will issue an erro + * + * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name + * @return {string} + * @throws {Error} the method getTag must be overwritten by the derived class. + */ + + }, { key: "getTag", value: function getTag() { throw new Error("the method getTag must be overwritten by the derived class."); } + /** + * + * @return {CSSStyleSheet} + */ + + }, { + key: "getCSSStyleSheet", + value: function getCSSStyleSheet() { + return new CSSStyleSheet(); + } }]); return CustomElement; }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement)); /** + * @private + * @return {object} + * @throws {Error} the options attribute does not contain a valid json definition. + */ + + +exports.CustomElement = CustomElement; + +function getOptionsFromAttributes() { + if (this.hasAttribute(_constants.ATTRIBUTE_OPTIONS)) { + try { + var obj = JSON.parse(this.getAttribute(_constants.ATTRIBUTE_OPTIONS)); + (0, _validate.validateObject)(obj); + return obj; + } catch (e) { + throw new Error('the options attribute ' + _constants.ATTRIBUTE_OPTIONS + ' does not contain a valid json definition (actual: ' + this.getAttribute(_constants.ATTRIBUTE_OPTIONS) + ').'); + } + } + + return {}; +} +/** + * @private + * @return {CustomElement} + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow + * @memberOf CustomElement + * @since 1.8.0 + */ + + +function initShadowRoot() { + this.attachShadow({ + mode: this.getOption('shadowMode', 'open'), + delegatesFocus: this.getOption('delegatesFocus', true) + }); + var styleSheet = this.constructor.getCSSStyleSheet(); + + if (styleSheet instanceof CSSStyleSheet) { + this.shadowRoot.adoptedStyleSheets = [styleSheet]; + } + + try { + var template = (0, _template.findDocumentTemplate)(this.constructor.getTag()); + this.shadowRoot.appendChild(template.createDocumentFragment()); + } catch (e) { + this.shadowRoot.innerHTML = this.constructor.getTemplate(); + } + + return this; +} +/** + * This method registers a new element. The string returned by `CustomElement.getTag()` is used as the tag. + * * @param {CustomElement} element * @return {void} * @since 1.7.0 * @copyright schukai GmbH * @memberOf Monster/DOM + * @throws {DOMException} Failed to execute 'define' on 'CustomElementRegistry': is not a valid custom element name */ -exports.CustomElement = CustomElement; - function registerCustomElement(element) { (0, _validate.validateFunction)(element); + var tag = element.getTag(); (0, _global.getGlobalObject)('customElements').define(element.getTag(), element); return; } _validate.Monster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement); -},{"../types/global.js":1145,"../types/validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/wrapNativeSuper":22}],1136:[function(require,module,exports){ +},{"../types/global.js":1153,"../types/validate.js":1165,"./constants.js":1140,"./template.js":1143,"@babel/runtime/helpers/assertThisInitialized":4,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/wrapNativeSuper":26}],1142:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -223159,7 +224028,7 @@ var MONSTERDOMHANDLE = Symbol('MonsterHandle'); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; * console.log(new Monster.DOM.Handle()) * </script> * ``` @@ -223168,7 +224037,7 @@ var MONSTERDOMHANDLE = Symbol('MonsterHandle'); * * ``` * <script type="module"> - * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; + * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; * console.log(new Handle()) * </script> * ``` @@ -223333,7 +224202,7 @@ function createMutationObserver() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; * console.log(Monster.DOM.getHandleFromNode()) * </script> * ``` @@ -223342,7 +224211,7 @@ function createMutationObserver() { * * ``` * <script type="module"> - * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js'; + * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js'; * console.log(getHandleFromNode()) * </script> * ``` @@ -223375,7 +224244,7 @@ function getHandleFromNode(node) { _base.Monster.assignToNamespace('Monster.DOM', getHandleFromNode, Handle); -},{"../types/base.js":1144,"../types/global.js":1145,"../types/id.js":1146,"../types/is.js":1147,"../types/observer.js":1148,"../types/proxyobserver.js":1150,"../types/stack.js":1153,"../types/validate.js":1156,"./assembler.js":1134,"@babel/runtime/helpers/assertThisInitialized":3,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1137:[function(require,module,exports){ +},{"../types/base.js":1152,"../types/global.js":1153,"../types/id.js":1154,"../types/is.js":1155,"../types/observer.js":1156,"../types/proxyobserver.js":1158,"../types/stack.js":1161,"../types/validate.js":1165,"./assembler.js":1139,"@babel/runtime/helpers/assertThisInitialized":4,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1143:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -223386,6 +224255,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau Object.defineProperty(exports, "__esModule", { value: true }); +exports.findDocumentTemplate = findDocumentTemplate; Object.defineProperty(exports, "Monster", { enumerable: true, get: function get() { @@ -223406,9 +224276,11 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge var _base = require("../types/base.js"); +var _validate = require("../types/validate.js"); + var _global = require("../types/global.js"); -var _validate = require("../types/validate.js"); +var _theme = require("./theme.js"); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } @@ -223419,7 +224291,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; * console.log(new Monster.DOM.Template()) * </script> * ``` @@ -223428,7 +224300,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js'; + * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; * console.log(new Template()) * </script> * ``` @@ -223454,7 +224326,8 @@ var Template = /*#__PURE__*/function (_Base) { (0, _classCallCheck2["default"])(this, Template); _this = _super.call(this); - (0, _validate.validateInstance)(template, (0, _global.getGlobalFunction)('HTMLTemplateElement')); + var HTMLTemplateElement = (0, _global.getGlobalFunction)('HTMLTemplateElement'); + (0, _validate.validateInstance)(template, HTMLTemplateElement); _this.template = template; return _this; } @@ -223483,12 +224356,712 @@ var Template = /*#__PURE__*/function (_Base) { }]); return Template; }(_base.Base); +/** + * + * + * you can call the method via the monster namespace `Monster.DOM.findDocumentTemplate()`. + * + * ``` + * <script type="module"> + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; + * console.log(Monster.DOM.findDocumentTemplate()) + * </script> + * ``` + * + * Alternatively, you can also integrate this function individually. + * + * ``` + * <script type="module"> + * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js'; + * console.log(findDocumentTemplate()) + * </script> + * ``` + * + * @param {string} id + * @return {Template} + * @since 1.7.0 + * @copyright schukai GmbH + * @memberOf Monster/DOM + * @throws {Error} template id not found. + * @throws {TypeError} value is not a string + */ + exports.Template = Template; -_base.Monster.assignToNamespace('Monster.DOM', Template); +function findDocumentTemplate(id) { + (0, _validate.validateString)(id); + var document = (0, _global.getGlobalObject)('document'); + var HTMLTemplateElement = (0, _global.getGlobalFunction)('HTMLTemplateElement'); + var theme = (0, _theme.getDocumentTheme)(); + var themedID = id + '-' + theme.getName(); + var template = document.getElementById(themedID); + + if (template instanceof HTMLTemplateElement) { + return new Template(template); + } + + template = document.getElementById(id); + + if (template instanceof HTMLTemplateElement) { + return new Template(template); + } + + throw new Error("template " + id + " not found."); +} + +_base.Monster.assignToNamespace('Monster.DOM', Template, findDocumentTemplate); + +},{"../types/base.js":1152,"../types/global.js":1153,"../types/validate.js":1165,"./theme.js":1144,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1144:[function(require,module,exports){ +'use strict'; +/** + * @author schukai GmbH + */ + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getDocumentTheme = getDocumentTheme; +Object.defineProperty(exports, "Monster", { + enumerable: true, + get: function get() { + return _base.Monster; + } +}); +exports.Theme = void 0; + +var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); + +var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); + +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); + +var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); + +var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); + +var _base = require("../types/base.js"); + +var _validate = require("../types/validate.js"); + +var _global = require("../types/global.js"); + +var _constants = require("./constants.js"); + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +/** + * You can call the method via the monster namespace `new Monster.DOM.Theme()`. + * + * ``` + * <script type="module"> + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; + * console.log(new Monster.DOM.Theme()) + * </script> + * ``` + * + * Alternatively, you can also integrate this function individually. + * + * ``` + * <script type="module"> + * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; + * console.log(new Theme()) + * </script> + * ``` + * + * @example + * + * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js'; + * + * const theme = getDocumentTheme(); + * console.log(theme.getName()); + * // ↦ monster + * + * @since 1.7.0 + * @copyright schukai GmbH + * @memberOf Monster/DOM + */ +var Theme = /*#__PURE__*/function (_Base) { + (0, _inherits2["default"])(Theme, _Base); + + var _super = _createSuper(Theme); + + /** + * + * @param name + * @throws {TypeError} value is not a string + */ + function Theme(name) { + var _this; + + (0, _classCallCheck2["default"])(this, Theme); + _this = _super.call(this); + (0, _validate.validateString)(name); + _this.name = name; + return _this; + } + /** + * + * @returns {string} + */ + + + (0, _createClass2["default"])(Theme, [{ + key: "getName", + value: function getName() { + return this.name; + } + }]); + return Theme; +}(_base.Base); +/** + * The theming used in the document can be defined via the html-tag. + * The theming is specified via the attribute `data-monster-theme-name`. + * + * As name for a theme all characters are valid, which are also allowed for a HTMLElement-ID. + * + * ``` + * <html data-monster-theme-name="my-theme"> + * ``` + * + * the default theme name is `monster`. + * + * @return {Theme} + * @since 1.7.0 + */ + + +exports.Theme = Theme; + +function getDocumentTheme() { + var document = (0, _global.getGlobalObject)('document'); + var name = _constants.DEFAULT_THEME; + var element = document.querySelector('html'); + + if (element instanceof HTMLElement) { + var theme = element.getAttribute(_constants.ATTRIBUTE_THEME_NAME); + + if (theme) { + name = theme; + } + } + + return new Theme(name); +} + +_base.Monster.assignToNamespace('Monster.DOM', Theme, getDocumentTheme); + +},{"../types/base.js":1152,"../types/global.js":1153,"../types/validate.js":1165,"./constants.js":1140,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1145:[function(require,module,exports){ +'use strict'; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "Monster", { + enumerable: true, + get: function get() { + return _base.Monster; + } +}); +exports.Updater = void 0; + +var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); + +var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); + +var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); + +var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); + +var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); + +var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); + +var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); + +var _pipe = require("../data/pipe.js"); + +var _base = require("../types/base.js"); + +var _is = require("../types/is.js"); + +var _observer = require("../types/observer.js"); + +var _proxyobserver = require("../types/proxyobserver.js"); + +var _validate = require("../types/validate.js"); + +var _clone = require("../util/clone.js"); + +var _diff = require("../data/diff.js"); + +var _constants = require("../dom/constants.js"); + +var _util = require("./util.js"); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +/** + * @author schukai GmbH + */ + +/** + * you can call the method via the monster namespace `new Monster.DOM.Updater()`. + * + * ``` + * <script type="module"> + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js'; + * console.log(new Monster.DOM.Updater()) + * </script> + * ``` + * + * Alternatively, you can also integrate this function individually. + * + * ``` + * <script type="module"> + * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js'; + * console.log(new Updater()) + * </script> + * ``` + * + * @example + * + * + * + * @since 1.8.0 + * @copyright schukai GmbH + * @memberOf Monster/DOM + * @throws {Error} the value is not iterable + * @throws {Error} pipes are not allowed when cloning a node. + * @throws {Error} no template was found with the specified key. + */ +var Updater = /*#__PURE__*/function (_Base) { + (0, _inherits2["default"])(Updater, _Base); + + var _super = _createSuper(Updater); + + /** + * @since 1.8.0 + * @param {HTMLElement} element + * @param {object|ProxyObserver} subject + */ + function Updater(element, subject) { + var _this; + + (0, _classCallCheck2["default"])(this, Updater); + _this = _super.call(this); + /** + * @type {HTMLElement} + */ + + _this.element = (0, _validate.validateInstance)(element, HTMLElement); + + if (!(0, _is.isInstance)(subject, _proxyobserver.ProxyObserver)) { + subject = new _proxyobserver.ProxyObserver(subject); + } + + _this.last = {}; + _this.callbacks = new Map(); + /** + * @type {object} + */ + + _this.subject = subject.attachObserver(new _observer.Observer(function () { + var s = _this.subject.getRealSubject(); + + var diff = (0, _diff.Diff)(_this.last, s); + _this.last = (0, _clone.clone)(s); + + for (var _i = 0, _Object$entries = Object.entries(diff); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2), + change = _Object$entries$_i[1]; + + removeElement.call((0, _assertThisInitialized2["default"])(_this), change); + insertElement.call((0, _assertThisInitialized2["default"])(_this), change); + updateContent.call((0, _assertThisInitialized2["default"])(_this), change); + updateAttributes.call((0, _assertThisInitialized2["default"])(_this), change); + } + })); + return _this; + } + /** + * + * @return {Promise} + */ + + + (0, _createClass2["default"])(Updater, [{ + key: "run", + value: function run() { + this.last = {}; + return this.subject.notifyObservers(); + } + /** + * @since 1.8.0 + * @return {ProxyObserver} + */ + + }, { + key: "getSubject", + value: function getSubject() { + return this.subject.getSubject(); + } + /** + * + * @param {string} name + * @param {function} callback + * @returns {Transformer} + * @throws {TypeError} value is not a string + * @throws {TypeError} value is not a function + */ + + }, { + key: "setCallback", + value: function setCallback(name, callback) { + this.callbacks.set(name, callback); + return this; + } + }]); + return Updater; +}(_base.Base); +/** + * @private + * @since 1.8.0 + * @param {object} change + * @return {Updater} + */ + + +exports.Updater = Updater; + +function removeElement(change) { + var _iterator = _createForOfIteratorHelper(this.element.querySelectorAll(':scope [' + _constants.ATTRIBUTE_UPDATER_REMOVE + ']').entries()), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = (0, _slicedToArray2["default"])(_step.value, 2), + element = _step$value[1]; + + element.parentNode.removeChild(element); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return this; +} +/** + * @private + * @since 1.8.0 + * @param {object} change + * @return {Updater} + * @throws {Error} the value is not iterable + * @throws {Error} pipes are not allowed when cloning a node. + * @throws {Error} no template was found with the specified key. + */ + + +function insertElement(change) { + var _this2 = this; + + var self = this; + var subject = self.subject.getRealSubject(); + var document = (0, _util.getDocument)(); + var p = (0, _clone.clone)(change === null || change === void 0 ? void 0 : change['path']); + if (!(0, _is.isArray)(p)) return this; + var mem = new WeakSet(); + + while (p.length > 0) { + var current = p.join('.'); + + var _iterator2 = _createForOfIteratorHelper(this.element.querySelectorAll(':scope [' + _constants.ATTRIBUTE_UPDATER_INSERT + '*="path:' + current + '"]').entries()), + _step2; + + try { + var _loop = function _loop() { + var _step2$value = (0, _slicedToArray2["default"])(_step2.value, 2), + containerElement = _step2$value[1]; + + if (mem.has(containerElement)) return "continue"; + mem.add(containerElement); + var attributes = containerElement.getAttribute(_constants.ATTRIBUTE_UPDATER_INSERT); + var def = attributes.trim(); + var i = def.indexOf(' '); + var key = def.substr(0, i).trim(); + var refPrefix = key + '-'; + var cmd = def.substr(i).trim(); + + if (cmd.indexOf('|') > 0) { + throw new Error("pipes are not allowed when cloning a node."); + } + + var pipe = new _pipe.Pipe(cmd); + + _this2.callbacks.forEach(function (f, n) { + pipe.setCallback(n, f); + }); + + var value = pipe.run(subject); + var dataPath = cmd.split(':').pop(); + var insertPoint = void 0; + + if (containerElement.hasChildNodes()) { + insertPoint = containerElement.lastChild; + } + + if (!(0, _is.isArray)(value)) { + throw new Error('the value is not iterable'); + } + + var available = new Set(); + + for (var _i2 = 0, _Object$entries2 = Object.entries(value); _i2 < _Object$entries2.length; _i2++) { + var _Object$entries2$_i = (0, _slicedToArray2["default"])(_Object$entries2[_i2], 2), + _i3 = _Object$entries2$_i[0], + obj = _Object$entries2$_i[1]; + + var ref = refPrefix + _i3; + var currentPath = dataPath + "." + _i3; + available.add(ref); + var refElement = containerElement.querySelector('[' + _constants.ATTRIBUTE_UPDATER_INSERT_REFERENCE + '="' + ref + '"]'); + + if (refElement instanceof HTMLElement) { + insertPoint = refElement; + continue; + } + + appendNewDocumentFragment(containerElement, key, ref, currentPath); + } + + var nodes = containerElement.querySelectorAll('[' + _constants.ATTRIBUTE_UPDATER_INSERT_REFERENCE + '*="' + refPrefix + '"]'); + + for (var _i4 = 0, _Object$entries3 = Object.entries(nodes); _i4 < _Object$entries3.length; _i4++) { + var _Object$entries3$_i = (0, _slicedToArray2["default"])(_Object$entries3[_i4], 2), + node = _Object$entries3$_i[1]; + + if (!available.has(node.getAttribute(_constants.ATTRIBUTE_UPDATER_INSERT_REFERENCE))) { + containerElement.removeChild(node); + } + } + }; + + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _ret = _loop(); + + if (_ret === "continue") continue; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + p.pop(); + } +} +/** + * + * @private + * @since 1.8.0 + * @param {HTMLElement} container + * @param {string} key + * @param {string} ref + * @param {string} path + * @throws {Error} no template was found with the specified key. + */ + + +function appendNewDocumentFragment(container, key, ref, path) { + var template = (0, _util.getDocument)().querySelector("template#" + key); + + if (!(template instanceof HTMLTemplateElement)) { + throw new Error("no template was found with the specified key " + key); + } + + var nodes = template.content.cloneNode(true); + + for (var _i5 = 0, _Object$entries4 = Object.entries(nodes.childNodes); _i5 < _Object$entries4.length; _i5++) { + var _Object$entries4$_i = (0, _slicedToArray2["default"])(_Object$entries4[_i5], 2), + node = _Object$entries4$_i[1]; + + if (node instanceof HTMLElement) { + node.setAttribute(_constants.ATTRIBUTE_UPDATER_INSERT_REFERENCE, ref); + var value = node.getAttribute(_constants.ATTRIBUTE_UPDATER_REPLACE); + node.setAttribute(_constants.ATTRIBUTE_UPDATER_REPLACE, value.replace("path:" + key, "path:" + path)); + } + + container.appendChild(node); + } +} +/** + * @private + * @since 1.8.0 + * @param {object} change + * @return {Updater} + */ + + +function updateContent(change) { + var self = this; + var subject = self.subject.getRealSubject(); + var p = (0, _clone.clone)(change === null || change === void 0 ? void 0 : change['path']); + runUpdateContent.call(this, this.element, p, subject); + return this; +} +/** + * + * @private + * @since 1.8.0 + * @param {HTMLElement} container + * @param {array} parts + * @param {object} subject + * @return {void} + */ + + +function runUpdateContent(container, parts, subject) { + var _this3 = this; + + if (!(0, _is.isArray)(parts)) return; + parts = (0, _clone.clone)(parts); + var mem = new WeakSet(); + + while (parts.length > 0) { + var current = parts.join('.'); + parts.pop(); + + var _iterator3 = _createForOfIteratorHelper(container.querySelectorAll(':scope [' + _constants.ATTRIBUTE_UPDATER_REPLACE + '^="path:' + current + '"]').entries()), + _step3; + + try { + var _loop2 = function _loop2() { + var _step3$value = (0, _slicedToArray2["default"])(_step3.value, 2), + element = _step3$value[1]; + + if (mem.has(element)) return "continue"; + mem.add(element); + var attributes = element.getAttribute(_constants.ATTRIBUTE_UPDATER_REPLACE); + var cmd = attributes.trim(); + var pipe = new _pipe.Pipe(cmd); + + _this3.callbacks.forEach(function (f, n) { + pipe.setCallback(n, f); + }); + + var value = pipe.run(subject); + + if (value instanceof HTMLElement) { + while (element.firstChild) { + element.removeChild(element.firstChild); + } + + element.addNode(value); + } else { + element.innerHTML = value; + } + }; + + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var _ret2 = _loop2(); + + if (_ret2 === "continue") continue; + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } +} +/** + * @private + * @since 1.8.0 + * @param {string} path + * @param {object} change + * @return {Updater} + */ + + +function updateAttributes(change) { + var self = this; + var subject = self.subject.getRealSubject(); + var p = (0, _clone.clone)(change === null || change === void 0 ? void 0 : change['path']); + runUpdateAttributes(this.element, p, subject); + return this; +} +/** + * @private + * @param {HTMLElement} container + * @param {array} parts + * @param {object} subject + * @return {void} + */ + + +function runUpdateAttributes(container, parts, subject) { + if (!(0, _is.isArray)(parts)) return; + parts = (0, _clone.clone)(parts); + var mem = new WeakSet(); + + while (parts.length > 0) { + var current = parts.join('.'); + parts.pop(); + + var _iterator4 = _createForOfIteratorHelper(container.querySelectorAll(':scope [' + _constants.ATTRIBUTE_UPDATER_ATTRIBUTES + '*="path:' + current + '"]').entries()), + _step4; -},{"../types/base.js":1144,"../types/global.js":1145,"../types/validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1138:[function(require,module,exports){ + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var _step4$value = (0, _slicedToArray2["default"])(_step4.value, 2), + element = _step4$value[1]; + + if (mem.has(element)) continue; + mem.add(element); + var attributes = element.getAttribute(_constants.ATTRIBUTE_UPDATER_ATTRIBUTES); + + for (var _i6 = 0, _Object$entries5 = Object.entries(attributes.split(',')); _i6 < _Object$entries5.length; _i6++) { + var _Object$entries5$_i = (0, _slicedToArray2["default"])(_Object$entries5[_i6], 2), + def = _Object$entries5$_i[1]; + + def = def.trim(); + var i = def.indexOf(' '); + var name = def.substr(0, i).trim(); + var cmd = def.substr(i).trim(); + var value = new _pipe.Pipe(cmd).run(subject); + + if (element.getAttribute(name) !== value) { + element.setAttribute(name, value); + } + } + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } +} + +_base.Monster.assignToNamespace('Monster.DOM', Updater); + +},{"../data/diff.js":1135,"../data/pipe.js":1137,"../dom/constants.js":1140,"../types/base.js":1152,"../types/is.js":1155,"../types/observer.js":1156,"../types/proxyobserver.js":1158,"../types/validate.js":1165,"../util/clone.js":1167,"./util.js":1146,"@babel/runtime/helpers/assertThisInitialized":4,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/slicedToArray":21}],1146:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -223520,7 +225093,7 @@ var _validate = require("../types/validate.js"); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getDocument()) * </script> * ``` @@ -223529,7 +225102,7 @@ var _validate = require("../types/validate.js"); * * ``` * <script type="module"> - * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(getDocument()) * </script> * ``` @@ -223583,7 +225156,7 @@ function getDocument() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getWindow()) * </script> * ``` @@ -223592,7 +225165,7 @@ function getDocument() { * * ``` * <script type="module"> - * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(getWindow(null)) * </script> * ``` @@ -223652,7 +225225,7 @@ function getWindow() { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(Monster.DOM.getDocumentFragmentFromString()) * </script> * ``` @@ -223661,7 +225234,7 @@ function getWindow() { * * ``` * <script type="module"> - * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js'; + * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js'; * console.log(getDocumentFragmentFromString('<div></div>')) * </script> * ``` @@ -223712,7 +225285,7 @@ function getDocumentFragmentFromString(html) { _global.Monster.assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString); -},{"../types/global.js":1145,"../types/validate.js":1156,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20}],1139:[function(require,module,exports){ +},{"../types/global.js":1153,"../types/validate.js":1165,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24}],1147:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -223760,7 +225333,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js'; * console.log(new Monster.Logging.Handler()) * </script> * ``` @@ -223769,7 +225342,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js'; * console.log(new Handler()) * </script> * ``` @@ -223958,7 +225531,7 @@ exports.Handler = Handler; _namespace.Monster.assignToNamespace('Monster.Logging', Handler); -},{"../namespace.js":1143,"../types/base.js":1144,"../types/validate.js":1156,"./logentry.js":1140,"./logger.js":1141,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1140:[function(require,module,exports){ +},{"../namespace.js":1151,"../types/base.js":1152,"../types/validate.js":1165,"./logentry.js":1148,"./logger.js":1149,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1148:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -224002,7 +225575,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js'; * console.log(new Monster.Logging.LogEntry()) * </script> * ``` @@ -224011,7 +225584,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js'; * console.log(new LogEntry()) * </script> * ``` @@ -224074,7 +225647,7 @@ exports.LogEntry = LogEntry; _namespace.Monster.assignToNamespace('Monster.Logging', LogEntry); -},{"../namespace.js":1143,"../types/base.js":1144,"../types/validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1141:[function(require,module,exports){ +},{"../namespace.js":1151,"../types/base.js":1152,"../types/validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1149:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -224190,7 +225763,7 @@ var OFF = 0; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js'; * console.log(new Monster.Logging.Logger()) * </script> * ``` @@ -224199,7 +225772,7 @@ var OFF = 0; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js'; * console.log(new Logger()) * </script> * ``` @@ -224445,7 +226018,7 @@ function triggerLog(loglevel) { return logger; } -},{"../logging/handler.js":1139,"../logging/logentry.js":1140,"../namespace.js":1143,"../types/base.js":1144,"../types/validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1142:[function(require,module,exports){ +},{"../logging/handler.js":1147,"../logging/logentry.js":1148,"../namespace.js":1151,"../types/base.js":1152,"../types/validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1150:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -224471,7 +226044,7 @@ var _global = require("../types/global.js"); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js'; * console.log(Monster.Math.random(1,10)) // ↦ 5 * </script> * ``` @@ -224480,7 +226053,7 @@ var _global = require("../types/global.js"); * * ``` * <script type="module"> - * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js'; + * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js'; * console.log(random(1,10)) // ↦ 5 * </script> * ``` @@ -224572,7 +226145,7 @@ function create(min, max) { _global.Monster.assignToNamespace('Monster.Math', random); -},{"../types/global.js":1145}],1143:[function(require,module,exports){ +},{"../types/global.js":1153}],1151:[function(require,module,exports){ 'use strict'; /** * @namespace Monster @@ -224664,7 +226237,7 @@ assignToNamespace('Monster', assignToNamespace); * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/namespace.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js'; * function hello() { * console.log('Hello World!'); * } @@ -224754,7 +226327,7 @@ function namespaceFor(parts) { return space; } -},{"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/interopRequireDefault":11}],1144:[function(require,module,exports){ +},{"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/interopRequireDefault":12}],1152:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -224794,11 +226367,11 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re /** * This is the base class from which all monster classes are derived. * - * you can call the method via the monster namespace `new Monster.Types.Base()`. + * You can call the method via the monster namespace `new Monster.Types.Base()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js'; * console.log(new Monster.Types.Base()) * console.log(new Monster.Types.Base()) * </script> @@ -224808,13 +226381,13 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js'; + * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js'; * console.log(new Base()) * console.log(new Base()) * </script> * ``` * - * the class was formerly called Object. + * The class was formerly called Object. * * @since 1.5.0 * @copyright schukai GmbH @@ -224848,7 +226421,7 @@ exports.Base = Base; _namespace.Monster.assignToNamespace('Monster.Types', Base); -},{"../namespace.js":1143,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/wrapNativeSuper":22}],1145:[function(require,module,exports){ +},{"../namespace.js":1151,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/wrapNativeSuper":26}],1153:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -224901,9 +226474,9 @@ var globalReference; globalReference = globalThis; })(); /** - * return globalThis + * Return globalThis * - * if globalThis is not available, it will be polyfilled + * If globalThis is not available, it will be polyfilled * * @since 1.6.0 * @memberOf Monster/Types @@ -224915,13 +226488,13 @@ function getGlobal() { return globalReference; } /** - * return global object or throw Error + * Return global object or throw Error * - * you can call the method via the monster namespace `Monster.Types.getGlobalObject()`. + * You can call the method via the monster namespace `Monster.Types.getGlobalObject()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; * console.log(Monster.Types.getGlobalObject('document')) // ↦ { } * </script> * ``` @@ -224930,7 +226503,7 @@ function getGlobal() { * * ``` * <script type="module"> - * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; + * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; * console.log(getGlobalObject('document')) // ↦ { } * </script> * ``` @@ -224955,13 +226528,13 @@ function getGlobalObject(name) { return o; } /** - * return global function or throw Error + * Return global function or throw Error * - * you can call the method via the monster namespace `Monster.Types.getGlobalFunction()`. + * You can call the method via the monster namespace `Monster.Types.getGlobalFunction()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { } * </script> * ``` @@ -224970,7 +226543,7 @@ function getGlobalObject(name) { * * ``` * <script type="module"> - * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js'; + * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js'; * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { } * </script> * ``` @@ -224997,7 +226570,7 @@ function getGlobalFunction(name) { _namespace.Monster.assignToNamespace('Monster.Types', getGlobal, getGlobalObject, getGlobalFunction); -},{"../namespace.js":1143,"./validate.js":1156,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20}],1146:[function(require,module,exports){ +},{"../namespace.js":1151,"./validate.js":1165,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24}],1154:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -225040,17 +226613,17 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re */ var internalCounter = new Map(); /** - * with the id class, sequences of ids can be created. for this purpose, an internal counter is incremented for each prefix. + * With the id class, sequences of ids can be created. for this purpose, an internal counter is incremented for each prefix. * thus, the first id with the prefix `myid` will be `myid1` and the second id `myid2`. * The ids are the same for every call, for example on a web page. * - * so the ids can also be used for navigation. you just have to take care that the order stays the same. + * So the ids can also be used for navigation. you just have to take care that the order stays the same. * - * you can call the method via the monster namespace `new Monster.Types.ID()`. + * You can call the method via the monster namespace `new Monster.Types.ID()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js'; * console.log(new Monster.Types.ID()) * </script> * ``` @@ -225059,12 +226632,12 @@ var internalCounter = new Map(); * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js'; * console.log(new ID()) * </script> * ``` * - * as of version 1.6.0 there is the new RandomID. this ID class is continuous from now on. + * As of version 1.6.0 there is the new RandomID. this ID class is continuous from now on. * * @since 1.0.0 * @copyright schukai GmbH @@ -225118,7 +226691,7 @@ exports.ID = ID; _base.Monster.assignToNamespace('Monster.Types', ID); -},{"./base.js":1144,"./validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1147:[function(require,module,exports){ +},{"./base.js":1152,"./validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1155:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -225150,13 +226723,13 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _namespace = require("../namespace.js"); /** - * with this function you can check if a value is iterable + * With this function you can check if a value is iterable * - * you can call the method via the monster namespace `Monster.Types.isPrimitive()`. + * You can call the method via the monster namespace `Monster.Types.isPrimitive()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isIterable(null)) // ↦ false * console.log(Monster.Types.isIterable('hello')) // ↦ true * console.log(Monster.Types.isIterable([])) // ↦ true @@ -225167,7 +226740,7 @@ var _namespace = require("../namespace.js"); * * ``` * <script type="module"> - * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isIterable(null)) // ↦ false * console.log(isIterable('hello')) // ↦ true * console.log(isIterable([])) // ↦ true @@ -225186,13 +226759,13 @@ function isIterable(value) { return typeof (value === null || value === void 0 ? void 0 : value[Symbol.iterator]) === 'function'; } /** - * checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol) + * Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol) * - * you can call the method via the monster namespace `Monster.Types.isPrimitive()`. + * You can call the method via the monster namespace `Monster.Types.isPrimitive()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isPrimitive('2')) // ↦ false * console.log(Monster.Types.isPrimitive([])) // ↦ true * </script> @@ -225202,7 +226775,7 @@ function isIterable(value) { * * ``` * <script type="module"> - * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isPrimitive('2')) // ↦ true * console.log(isPrimitive([])) // ↦ false * </script> @@ -225232,13 +226805,13 @@ function isPrimitive(value) { return false; } /** - * checks whether the value passed is a boolean + * Checks whether the value passed is a boolean * - * you can call the method via the monster namespace `Monster.Types.isBoolean()`. + * You can call the method via the monster namespace `Monster.Types.isBoolean()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isBoolean('2')) // ↦ false * console.log(Monster.Types.isBoolean([])) // ↦ false * console.log(Monster.Types.isBoolean(true)) // ↦ true @@ -225249,7 +226822,7 @@ function isPrimitive(value) { * * ``` * <script type="module"> - * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isBoolean('2')) // ↦ false * console.log(isBoolean([])) // ↦ false * console.log(isBoolean(2>4)) // ↦ true @@ -225278,7 +226851,7 @@ function isBoolean(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isString('2')) // ↦ true * console.log(Monster.Types.isString([])) // ↦ false * </script> @@ -225288,7 +226861,7 @@ function isBoolean(value) { * * ``` * <script type="module"> - * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isString('2')) // ↦ true * console.log(isString([])) // ↦ false * </script> @@ -225316,7 +226889,7 @@ function isString(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isObject('2')) // ↦ false * console.log(Monster.Types.isObject([])) // ↦ false * console.log(Monster.Types.isObject({})) // ↦ true @@ -225327,7 +226900,7 @@ function isString(value) { * * ``` * <script type="module"> - * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isObject('2')) // ↦ false * console.log(isObject([])) // ↦ false * </script> @@ -225358,7 +226931,7 @@ function isObject(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isInstance('2')) // ↦ false * console.log(Monster.Types.isInstance([])) // ↦ false * console.log(Monster.Types.isInstance({})) // ↦ true @@ -225369,7 +226942,7 @@ function isObject(value) { * * ``` * <script type="module"> - * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isInstance('2')) // ↦ false * console.log(isInstance([])) // ↦ false * </script> @@ -225397,7 +226970,7 @@ function isInstance(value, instance) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isArray('2')) // ↦ false * console.log(Monster.Types.isArray([])) // ↦ true * </script> @@ -225407,7 +226980,7 @@ function isInstance(value, instance) { * * ``` * <script type="module"> - * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isArray('2')) // ↦ false * console.log(isArray([])) // ↦ true * </script> @@ -225435,7 +227008,7 @@ function isArray(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isFunction(()=>{})) // ↦ true * console.log(Monster.Types.isFunction('2')) // ↦ false * console.log(Monster.Types.isFunction([])) // ↦ false @@ -225446,7 +227019,7 @@ function isArray(value) { * * ``` * <script type="module"> - * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isFunction(()=>{})) // ↦ true * console.log(isFunction('2')) // ↦ false * console.log(isFunction([])) // ↦ false @@ -225478,7 +227051,7 @@ function isFunction(value) { * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(Monster.Types.isInteger(()=>{})) // ↦ true * console.log(Monster.Types.isInteger('2')) // ↦ false * console.log(Monster.Types.isInteger(2)) // ↦ true @@ -225489,7 +227062,7 @@ function isFunction(value) { * * ``` * <script type="module"> - * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js'; + * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * console.log(isInteger(()=>{})) // ↦ true * console.log(isInteger('2')) // ↦ false * console.log(isInteger(2)) // ↦ true @@ -225510,7 +227083,7 @@ function isInteger(value) { _namespace.Monster.assignToNamespace('Monster.Types', isPrimitive, isBoolean, isString, isObject, isArray, isFunction, isIterable, isInteger); -},{"../namespace.js":1143,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20}],1148:[function(require,module,exports){ +},{"../namespace.js":1151,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24}],1156:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -225554,13 +227127,13 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * an observer manages a callback function + * An observer manages a callback function * - * you can call the method via the monster namespace `new Monster.Types.Observer()`. + * You can call the method via the monster namespace `new Monster.Types.Observer()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; * console.log(new Monster.Types.Observer()) * </script> * ``` @@ -225569,27 +227142,27 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js'; - * console.log(Observer()) + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; + * console.log(new Observer()) * </script> * ``` * - * the update method is called with the subject object as this pointer. for this reason the callback should not + * The update method is called with the subject object as this pointer. For this reason the callback should not * be an arrow function, because it gets the this pointer of its own context. * * ``` * <script> - * Observer(()=>{ + * new Observer(()=>{ * // this is not subject * }) * - * Observer(function() { + * new Observer(function() { * // this is subject * }) * </script> * ``` * - * additional arguments can be passed to the callback. to do this, simply specify them. + * Additional arguments can be passed to the callback. To do this, simply specify them. * * ``` * <script> @@ -225599,8 +227172,18 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * </script> * ``` * - * the callback function must have as many parameters as arguments are given. + * The callback function must have as many parameters as arguments are given. + * + * @example + * + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; * + * const observer = new Observer(function(a, b, c) { + * console.log(this, a, b, c); // ↦ "a", 2, true + * }, "a", 2, true); + * + * observer.update({value:true}).then(()=>{}); + * // ↦ {value: true} "a" 2 true * * @since 1.0.0 * @copyright schukai GmbH @@ -225701,22 +227284,26 @@ var Observer = /*#__PURE__*/function (_Base) { self.queue.add(subject); setTimeout(function () { - // the queue and the settimeout ensure that an object is not - // informed of the same change more than once. - if (self.queue.isEmpty()) { - resolve(); - return; - } + try { + // the queue and the settimeout ensure that an object is not + // informed of the same change more than once. + if (self.queue.isEmpty()) { + resolve(); + return; + } - var s = self.queue.poll(); - var result = self.callback.apply(s, self.arguments); + var s = self.queue.poll(); + var result = self.callback.apply(s, self.arguments); - if ((0, _is.isObject)(result) && result instanceof Promise) { - result.then(resolve)["catch"](reject); - return; - } + if ((0, _is.isObject)(result) && result instanceof Promise) { + result.then(resolve)["catch"](reject); + return; + } - resolve(result); + resolve(result); + } catch (e) { + reject(e); + } }, 0); }); } @@ -225728,7 +227315,7 @@ exports.Observer = Observer; _namespace.Monster.assignToNamespace('Monster.Types', Observer); -},{"../namespace.js":1143,"./base.js":1144,"./is.js":1147,"./tokenlist.js":1154,"./uniquequeue.js":1155,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1149:[function(require,module,exports){ +},{"../namespace.js":1151,"./base.js":1152,"./is.js":1155,"./tokenlist.js":1162,"./uniquequeue.js":1164,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1157:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -225772,11 +227359,11 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re /** * With the help of the ObserverList class, observer can be managed. * - * you can call the method via the monster namespace `new Monster.Types.ObserverList()`. + * You can call the method via the monster namespace `new Monster.Types.ObserverList()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js'; * console.log(new Monster.Types.ObserverList()) * console.log(new Monster.Types.ObserverList()) * </script> @@ -225786,7 +227373,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js'; + * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js'; * console.log(ObserverList()) * console.log(ObserverList()) * </script> @@ -225898,7 +227485,7 @@ exports.ObserverList = ObserverList; _namespace.Monster.assignToNamespace('Monster.Types', ObserverList); -},{"../namespace.js":1143,"./base.js":1144,"./observer.js":1148,"./validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1150:[function(require,module,exports){ +},{"../namespace.js":1151,"./base.js":1152,"./observer.js":1156,"./validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1158:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -225948,13 +227535,13 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * an observer manages a callback function + * An observer manages a callback function * - * you can call the method via the monster namespace `new Monster.Types.Observer()`. + * You can call the method via the monster namespace `new Monster.Types.ProxyObserver()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; * console.log(new Monster.Types.ProxyObserver()) * </script> * ``` @@ -225963,7 +227550,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js'; + * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; * console.log(new ProxyObserver()) * </script> * ``` @@ -225972,28 +227559,33 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * this also applies to nested objects. * - * ```javascript - * const o = new Observer(function () { - * if (isObject(this) && this instanceof ProxyObserver) { - * // do something (this ist ProxyObserver) - * const subject = this.getSubject(); - * } - * ) + * @example + * + * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js'; + * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js'; + * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js'; * - * let realSubject = { - * a: { - * b: { - * c: true - * }, - * d: 5 - * } + * const o = new Observer(function () { + * if (isObject(this) && this instanceof ProxyObserver) { + * // do something (this ist ProxyObserver) + * const subject = this.getSubject(); + * console.log(subject); + * } + * }); * + * let realSubject = { + * a: { + * b: { + * c: true + * }, + * d: 9 + * } + * } * * const p = new ProxyObserver(realSubject); * p.attachObserver(o); * const s = p.getSubject(); * s.a.b.c = false; - * ``` * * @since 1.0.0 * @copyright schukai GmbH @@ -226078,14 +227670,13 @@ var ProxyObserver = /*#__PURE__*/function (_Base) { /** * notify all observer * - * @returns {ProxyObserver} + * @returns {Promise} */ }, { key: "notifyObservers", value: function notifyObservers() { - this.observers.notify(this); - return this; + return this.observers.notify(this); } /** * @param {Observer} observer @@ -226188,7 +227779,7 @@ function getHandler() { return handler; } -},{"../namespace.js":1143,"./base.js":1144,"./is.js":1147,"./observer.js":1148,"./observerlist.js":1149,"./validate.js":1156,"@babel/runtime/helpers/assertThisInitialized":3,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/typeof":20}],1151:[function(require,module,exports){ +},{"../namespace.js":1151,"./base.js":1152,"./is.js":1155,"./observer.js":1156,"./observerlist.js":1157,"./validate.js":1165,"@babel/runtime/helpers/assertThisInitialized":4,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/typeof":24}],1159:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -226221,11 +227812,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * you can call the method via the monster namespace `new Monster.Types.Queue()`. + * You can call the method via the monster namespace `new Monster.Types.Queue()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; * console.log(new Monster.Types.Queue()) * </script> * ``` @@ -226234,10 +227825,33 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; * console.log(new Queue()) * </script> * ``` + * + * @example + * + * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js'; + * + * const queue = new Queue; + * + * queue.add(2); + * queue.add(true); + * queue.add("Hello"); + * queue.add(4.5); + * + * console.log(queue.poll()); + * // ↦ 2 + * console.log(queue.poll()); + * // ↦ true + * console.log(queue.poll()); + * // ↦ "Hello" + * console.log(queue.poll()); + * // ↦ 4.5 + * console.log(queue.poll()); + * // ↦ undefined + * * * @since 1.4.0 * @copyright schukai GmbH @@ -226333,7 +227947,7 @@ exports.Queue = Queue; _base.Monster.assignToNamespace('Monster.Types', Queue); -},{"./base.js":1144,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1152:[function(require,module,exports){ +},{"./base.js":1152,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1160:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -226376,11 +227990,11 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re */ var internalCounter = 0; /** - * you can call the method via the monster namespace `new Monster.Types.RandomID()`. + * You can call the method via the monster namespace `new Monster.Types.RandomID()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js'; * console.log(new Monster.Types.RandomID()) * </script> * ``` @@ -226389,7 +228003,7 @@ var internalCounter = 0; * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js'; + * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js'; * console.log(new RandomID()) * </script> * ``` @@ -226426,7 +228040,7 @@ exports.RandomID = RandomID; _id.Monster.assignToNamespace('Monster.Types', RandomID); -},{"../math/random.js":1142,"./global.js":1145,"./id.js":1146,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1153:[function(require,module,exports){ +},{"../math/random.js":1150,"./global.js":1153,"./id.js":1154,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1161:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -226459,11 +228073,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * you can call the method via the monster namespace `new Monster.Types.Queue()`. + * You can call the method via the monster namespace `new Monster.Types.Queue()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js'; * console.log(new Monster.Types.Stack()) * </script> * ``` @@ -226472,7 +228086,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js'; + * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js'; * console.log(new Stack()) * </script> * ``` @@ -226574,7 +228188,7 @@ exports.Stack = Stack; _base.Monster.assignToNamespace('Monster.Types', Stack); -},{"./base.js":1144,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1154:[function(require,module,exports){ +},{"./base.js":1152,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1162:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -226626,11 +228240,11 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list. * - * you can call the method via the monster namespace `new Monster.Types.TokenList()`. + * You can call the method via the monster namespace `new Monster.Types.TokenList()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js'; * console.log(new Monster.Types.TokenList("myclass row")) * console.log(new Monster.Types.TokenList("myclass row")) * </script> @@ -226640,7 +228254,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js'; + * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js'; * console.log(new TokenList("myclass row")) * console.log(new TokenList("myclass row")) * </script> @@ -226652,7 +228266,6 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * console.log(typeof new TokenList("myclass row")[Symbol.iterator]); // "function" * ``` * - * * @since 1.2.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -227011,7 +228624,79 @@ function toggleValue(token) { _namespace.Monster.assignToNamespace('Monster.Types', TokenList); -},{"../namespace.js":1143,"../types/is.js":1147,"../types/validate.js":1156,"./base.js":1144,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1155:[function(require,module,exports){ +},{"../namespace.js":1151,"../types/is.js":1155,"../types/validate.js":1165,"./base.js":1152,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1163:[function(require,module,exports){ +'use strict'; +/** + * @author schukai GmbH + */ + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.typeOf = typeOf; +Object.defineProperty(exports, "Monster", { + enumerable: true, + get: function get() { + return _namespace.Monster; + } +}); + +var _namespace = require("../namespace.js"); + +/** + * The built-in typeof method is known to have some historical weaknesses. This function tries to provide a better and more accurate result. + * + * You can call the method via the monster namespace `Monster.Types.typeOf()`. + * + * ``` + * <script type="module"> + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js'; + * console.log(Monster.Types.typeOf()) + * </script> + * ``` + * + * Alternatively, you can also integrate this function individually. + * + * ``` + * <script type="module"> + * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js'; + * console.log(typeOf()) + * </script> + * ``` + * + * @example + * + * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js'; + * + * console.log(typeOf(undefined)); // ↦ undefined + * console.log(typeOf("")); // ↦ string + * console.log(typeOf(5)); // ↦ number + * console.log(typeOf({})); // ↦ object + * console.log(typeOf([])); // ↦ array + * console.log(typeOf(new Map)); // ↦ map + * console.log(typeOf(true)); // ↦ boolean + * + * @param {*} value + * @return {string} + * @since 1.7.0 + * @copyright schukai GmbH + * @memberOf Monster/Types + * @throws {TypeError} value is not a primitive + */ +function typeOf(value) { + var type = {}.toString.call(value).match(/\s([a-zA-Z]+)/)[1]; + + if ('Object' === type) { + var results = /^(class|function)\s+(\w+)/.exec(value.constructor.toString()); + type = results && results.length > 2 ? results[2] : ''; + } + + return type.toLowerCase(); +} + +_namespace.Monster.assignToNamespace('Monster.Types', typeOf); + +},{"../namespace.js":1151}],1164:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -227048,11 +228733,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * you can call the method via the monster namespace `new Monster.Types.Queue()`. + * You can call the method via the monster namespace `new Monster.Types.Queue()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js'; * console.log(new Monster.Types.UniqueQueue()) * </script> * ``` @@ -227061,7 +228746,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js'; + * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js'; * console.log(new UniqueQueue()) * </script> * ``` @@ -227146,7 +228831,7 @@ exports.UniqueQueue = UniqueQueue; _queue.Monster.assignToNamespace('Monster.Types', UniqueQueue); -},{"./queue.js":1151,"./validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/get":8,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1156:[function(require,module,exports){ +},{"./queue.js":1159,"./validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/get":9,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1165:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -227176,13 +228861,13 @@ var _namespace = require("../namespace.js"); var _is = require("./is.js"); /** - * this method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown. + * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown. * - * you can call the method via the monster namespace `Monster.Types.validatePrimitive()`. + * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError * console.log(Monster.Types.validateIterable([])) // ↦ undefined * </script> @@ -227192,14 +228877,14 @@ var _is = require("./is.js"); * * ``` * <script type="module"> - * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateIterable('2')) // ↦ TypeError * console.log(validateIterable([])) // ↦ undefined * </script> * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.2.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -227212,15 +228897,17 @@ function validateIterable(value) { if (!(0, _is.isIterable)(value)) { throw new TypeError('value is not iterable'); } + + return value; } /** - * this method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown. + * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown. * - * you can call the method via the monster namespace `Monster.Types.validatePrimitive()`. + * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError * </script> @@ -227230,14 +228917,14 @@ function validateIterable(value) { * * ``` * <script type="module"> - * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validatePrimitive('2')) // ↦ undefined * console.log(validatePrimitive([])) // ↦ TypeError * </script> * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -227252,15 +228939,17 @@ function validatePrimitive(value) { if (!(0, _is.isPrimitive)(value)) { throw new TypeError('value is not a primitive'); } + + return value; } /** - * this method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown. + * This method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown. * - * you can call the method via the monster namespace `Monster.Types.validateBoolean()`. + * You can call the method via the monster namespace `Monster.Types.validateBoolean()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError @@ -227271,7 +228960,7 @@ function validatePrimitive(value) { * * ``` * <script type="module"> - * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateBoolean(false)) // ↦ undefined * console.log(validateBoolean('2')) // ↦ TypeError * console.log(validateBoolean([])) // ↦ TypeError @@ -227279,7 +228968,7 @@ function validatePrimitive(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -227292,15 +228981,17 @@ function validateBoolean(value) { if (!(0, _is.isBoolean)(value)) { throw new TypeError('value is not a boolean'); } + + return value; } /** - * this method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown. + * This method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown. * - * you can call the method via the monster namespace `Monster.Types.validateString()`. + * You can call the method via the monster namespace `Monster.Types.validateString()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateString('2')) // ↦ undefined * console.log(Monster.Types.validateString([])) // ↦ TypeError * </script> @@ -227310,14 +229001,14 @@ function validateBoolean(value) { * * ``` * <script type="module"> - * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateString('2')) // ↦ undefined * console.log(validateString([])) // ↦ TypeError * </script> * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -227329,15 +229020,17 @@ function validateString(value) { if (!(0, _is.isString)(value)) { throw new TypeError('value is not a string'); } + + return value; } /** - * this method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown. + * This method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown. * - * you can call the method via the monster namespace `Monster.Types.validateObject()`. + * You can call the method via the monster namespace `Monster.Types.validateObject()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateObject({})) // ↦ undefined * console.log(Monster.Types.validateObject('2')) // ↦ TypeError * console.log(Monster.Types.validateObject([])) // ↦ TypeError @@ -227348,7 +229041,7 @@ function validateString(value) { * * ``` * <script type="module"> - * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateObject({})) // ↦ undefined * console.log(validateObject('2')) // ↦ TypeError * console.log(validateObject([])) // ↦ TypeError @@ -227356,7 +229049,7 @@ function validateString(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -227368,15 +229061,17 @@ function validateObject(value) { if (!(0, _is.isObject)(value)) { throw new TypeError('value is not a object'); } + + return value; } /** - * this method checks if the type matches the object instance. + * This method checks if the type matches the object instance. * - * you can call the method via the monster namespace `Monster.Types.validateInstance()`. + * You can call the method via the monster namespace `Monster.Types.validateInstance()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError @@ -227387,7 +229082,7 @@ function validateObject(value) { * * ``` * <script type="module"> - * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateInstance({}, Object)) // ↦ undefined * console.log(validateInstance('2', Object)) // ↦ TypeError * console.log(validateInstance([], Object)) // ↦ TypeError @@ -227395,7 +229090,7 @@ function validateObject(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.5.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -227417,15 +229112,17 @@ function validateInstance(value, instance) { throw new TypeError('value is not an instance of' + n); } + + return value; } /** - * this method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown. + * This method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown. * - * you can call the method via the monster namespace `Monster.Types.validateArray()`. + * You can call the method via the monster namespace `Monster.Types.validateArray()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateArray('2')) // ↦ TypeError * console.log(Monster.Types.validateArray([])) // ↦ undefined * </script> @@ -227435,14 +229132,14 @@ function validateInstance(value, instance) { * * ``` * <script type="module"> - * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateArray('2')) // ↦ TypeError * console.log(validateArray([])) // ↦ undefined * </script> * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -227454,15 +229151,17 @@ function validateArray(value) { if (!(0, _is.isArray)(value)) { throw new TypeError('value is not an array'); } + + return value; } /** - * this method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown. + * This method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown. * - * you can call the method via the monster namespace `Monster.Types.validateFunction()`. + * You can call the method via the monster namespace `Monster.Types.validateFunction()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError * console.log(Monster.Types.validateFunction([])) // ↦ TypeError @@ -227473,7 +229172,7 @@ function validateArray(value) { * * ``` * <script type="module"> - * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateFunction(()=>{})) // ↦ undefined * console.log(validateFunction('2')) // ↦ TypeError * console.log(validateFunction([])) // ↦ TypeError @@ -227481,7 +229180,7 @@ function validateArray(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.0.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -227493,15 +229192,17 @@ function validateFunction(value) { if (!(0, _is.isFunction)(value)) { throw new TypeError('value is not a function'); } + + return value; } /** - * this method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown. + * This method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown. * - * you can call the method via the monster namespace `Monster.Types.validateInteger()`. + * You can call the method via the monster namespace `Monster.Types.validateInteger()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError * console.log(Monster.Types.validateInteger(2)) // ↦ undefined @@ -227512,7 +229213,7 @@ function validateFunction(value) { * * ``` * <script type="module"> - * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js'; + * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js'; * console.log(validateInteger(true)) // ↦ TypeError * console.log(validateInteger('2')) // ↦ TypeError * console.log(validateInteger(2)) // ↦ undefined @@ -227520,7 +229221,7 @@ function validateFunction(value) { * ``` * * @param {*} value - * @return {undefined} + * @return {*} * @since 1.4.0 * @copyright schukai GmbH * @memberOf Monster/Types @@ -227532,11 +229233,13 @@ function validateInteger(value) { if (!(0, _is.isInteger)(value)) { throw new TypeError('value is not an integer'); } + + return value; } _namespace.Monster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger); -},{"../namespace.js":1143,"./is.js":1147}],1157:[function(require,module,exports){ +},{"../namespace.js":1151,"./is.js":1155}],1166:[function(require,module,exports){ 'use strict'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -227572,13 +229275,13 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * the version object contains a sematic version number + * The version object contains a sematic version number * - * you can create the object via the monster namespace `new Monster.Types.Version()`. + * You can create the object via the monster namespace `new Monster.Types.Version()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3 * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0 * </script> @@ -227588,20 +229291,20 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * console.log(new Version('1.2.3')) // ↦ 1.2.3 * console.log(new Version('1')) // ↦ 1.0.0 * </script> * ``` * - * some examples + * @example * - * ``` - * new Monster.Types.Version('1.0.0') // 1.0.0 - * new Monster.Types.Version(1) // 1.0.0 - * new Monster.Types.Version(1, 0, 0) // 1.0.0 - * new Monster.Types.Version('1.2.3', 4, 5) // 1.4.5 - * ``` + * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; + * + * new Version('1.0.0') // ↦ 1.0.0 + * new Version(1) // ↦ 1.0.0 + * new Version(1, 0, 0) // ↦ 1.0.0 + * new Version('1.2.3', 4, 5) // ↦ 1.4.5 * * @since 1.0.0 * @author schukai GmbH @@ -227618,9 +229321,9 @@ var Version = /*#__PURE__*/function (_Base) { * @param major * @param minor * @param patch - * @throws major is not a number - * @throws minor is not a number - * @throws patch is not a number + * @throws {Error} major is not a number + * @throws {Error} minor is not a number + * @throws {Error} patch is not a number */ function Version(major, minor, patch) { var _this; @@ -227729,7 +229432,7 @@ var monsterVersion; * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * console.log(Monster.getVersion()) * console.log(Monster.getVersion()) * </script> @@ -227739,7 +229442,7 @@ var monsterVersion; * * ``` * <script type="module"> - * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; * console.log(getVersion()) * console.log(getVersion()) * </script> @@ -227759,7 +229462,7 @@ function getVersion() { /**#@+ dont touch, replaced by make with package.json version */ - monsterVersion = new Version('1.7.0'); + monsterVersion = new Version('1.8.0'); /**#@-*/ return monsterVersion; @@ -227767,7 +229470,7 @@ function getVersion() { _namespace.Monster.assignToNamespace('Monster', getVersion); -},{"../namespace.js":1143,"./base.js":1144,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1158:[function(require,module,exports){ +},{"../namespace.js":1151,"./base.js":1152,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1167:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -227795,19 +229498,19 @@ var _is = require("../types/is.js"); var _global = require("../types/global.js"); /** - * with this function, objects can be cloned. - * the entire object tree is run through. + * With this function, objects can be cloned. + * The entire object tree is run through. * * Proxy, Element, HTMLDocument and DocumentFragment instances are not cloned. * Global objects such as windows are also not cloned, * * If an object has a method `getClone()`, this method is used to create the clone. * - * you can call the method via the monster namespace `Monster.Util.clone()`. + * You can call the method via the monster namespace `Monster.Util.clone()`. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js'; + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js'; * console.log(Monster.Util.clone({})) * </script> * ``` @@ -227816,12 +229519,11 @@ var _global = require("../types/global.js"); * * ``` * <script type="module"> - * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js'; + * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js'; * console.log(clone({})) * </script> * ``` * - * * @param {*} obj object to be cloned * @returns {*} * @@ -227933,7 +229635,7 @@ function cloneObject(obj) { _namespace.Monster.assignToNamespace('Monster.Util', clone); -},{"../namespace.js":1143,"../types/global.js":1145,"../types/is.js":1147,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20}],1159:[function(require,module,exports){ +},{"../namespace.js":1151,"../types/global.js":1153,"../types/is.js":1155,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24}],1168:[function(require,module,exports){ 'use strict'; /** * @author schukai GmbH @@ -227973,12 +229675,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** - * the comparator allows a comparison function to be abstracted. + * The comparator allows a comparison function to be abstracted. * * ``` * <script type="module"> - * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; - * console.log(new Monster.Util.Comparator()) + * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; * console.log(new Monster.Util.Comparator()) * </script> * ``` @@ -227987,13 +229688,12 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * * ``` * <script type="module"> - * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js'; - * console.log(new Util()) - * console.log(new Util()) + * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; + * console.log(new Comparator()) * </script> * ``` * - * the following are some examples of the application of the class. + * The following are some examples of the application of the class. * * ``` * new Comparator().lessThanOrEqual(2, 5) // ↦ true @@ -228002,7 +229702,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * new Comparator().equal(4, 5) // ↦ false * ``` * - * you can also pass your own comparison function, and thus define the comparison function. + * You can also pass your own comparison function, and thus define the comparison function. * * ``` * new Comparator(function (a, b) { @@ -228010,6 +229710,19 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re * return a.v < b.v ? -1 : 1; * }).equal({v: 2}, {v: 2}); // ↦ true * ``` + * + * @example + * + * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js'; + * + * console.log(new Comparator().lessThanOrEqual(2, 5)) + * // ↦ true + * console.log(new Comparator().greaterThan(4, 2)) + * // ↦ true + * console.log(new Comparator().equal(4, 4)) + * // ↦ true + * console.log(new Comparator().equal(4, 5)) + * // ↦ false * * @since 1.3.0 * @memberOf Monster/Util @@ -228149,7 +229862,7 @@ exports.Comparator = Comparator; _base.Monster.assignToNamespace('Monster.Util', Comparator); -},{"../types/base.js":1144,"../types/is.js":1147,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/typeof":20}],1160:[function(require,module,exports){ +},{"../types/base.js":1152,"../types/is.js":1155,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/typeof":24}],1169:[function(require,module,exports){ "use strict"; var _valid = require("../../../source/constraints/valid.js"); @@ -228176,7 +229889,7 @@ describe('AndOperator', function () { }); }); -},{"../../../source/constraints/andoperator.js":1124,"../../../source/constraints/invalid.js":1125,"../../../source/constraints/valid.js":1129}],1161:[function(require,module,exports){ +},{"../../../source/constraints/andoperator.js":1128,"../../../source/constraints/invalid.js":1129,"../../../source/constraints/valid.js":1133}],1170:[function(require,module,exports){ "use strict"; var _invalid = require("../../../source/constraints/invalid.js"); @@ -228195,7 +229908,7 @@ describe('Invalid', function () { }); }); -},{"../../../source/constraints/invalid.js":1125,"chai":128}],1162:[function(require,module,exports){ +},{"../../../source/constraints/invalid.js":1129,"chai":132}],1171:[function(require,module,exports){ "use strict"; var _isarray = require("../../../source/constraints/isarray.js"); @@ -228216,7 +229929,7 @@ describe('IsArray', function () { }); }); -},{"../../../source/constraints/isarray.js":1126,"chai":128}],1163:[function(require,module,exports){ +},{"../../../source/constraints/isarray.js":1130,"chai":132}],1172:[function(require,module,exports){ "use strict"; var _isobject = require("../../../source/constraints/isobject.js"); @@ -228237,7 +229950,7 @@ describe('IsObject', function () { }); }); -},{"../../../source/constraints/isobject.js":1127,"chai":128}],1164:[function(require,module,exports){ +},{"../../../source/constraints/isobject.js":1131,"chai":132}],1173:[function(require,module,exports){ "use strict"; var _valid = require("../../../source/constraints/valid.js"); @@ -228264,7 +229977,7 @@ describe('OrOperator', function () { }); }); -},{"../../../source/constraints/invalid.js":1125,"../../../source/constraints/oroperator.js":1128,"../../../source/constraints/valid.js":1129}],1165:[function(require,module,exports){ +},{"../../../source/constraints/invalid.js":1129,"../../../source/constraints/oroperator.js":1132,"../../../source/constraints/valid.js":1133}],1174:[function(require,module,exports){ "use strict"; var _valid = require("../../../source/constraints/valid.js"); @@ -228284,7 +229997,97 @@ describe('Valid', function () { }); }); -},{"../../../source/constraints/valid.js":1129,"chai":128}],1166:[function(require,module,exports){ +},{"../../../source/constraints/valid.js":1133,"chai":132}],1175:[function(require,module,exports){ +"use strict"; + +var _buildmap = require("../../../source/data/buildmap.js"); + +var _chai = require("chai"); + +describe('buildMap', function () { + function mapToObj(map) { + var obj = {}; + map.forEach(function (v, k) { + if (v instanceof Map) { + obj[k] = mapToObj(v); + } else { + obj[k] = v; + } + }); + return obj; + } + + describe('examplecode', function () { + it('definition should return Map Instance', function () { + var obj = { + "data": [{ + "id": 10, + "name": "Cassandra", + "address": { + "street": "493-4105 Vulputate Street", + "city": "Saumur", + "zip": "52628" + } + }, { + "id": 20, + "name": "Holly", + "address": { + "street": "1762 Eget Rd.", + "city": "Schwalbach", + "zip": "952340" + } + }, { + "id": 30, + "name": "Guy", + "address": { + "street": "957-388 Sollicitudin Avenue", + "city": "Panchià", + "zip": "420729" + } + }] + }; + var map = (0, _buildmap.buildMap)(obj, 'data.*', '${name} (${address.zip} ${address.city})', '${id}'); + map = (0, _buildmap.buildMap)(obj, 'data.*', '${name} (${address.zip} ${address.city})', 'id'); + (0, _chai.expect)(map).to.be.instanceOf(Map); + map = (0, _buildmap.buildMap)(obj, 'data.*', '${name} (${address.zip} ${address.city})'); + (0, _chai.expect)(map).to.be.instanceOf(Map); + map = (0, _buildmap.buildMap)(obj, 'data.*', '${name} (${address.zip} ${address.city})', 'id', function (value, key) { + return value['id'] >= 20 ? true : false; + }); + (0, _chai.expect)(map).to.be.instanceOf(Map); + }); + }); + describe('buildmap()', function () { + var obj1 = { + dataset: { + "10082": { + name: "Test 1", + address: "Here 1" + }, + "10084": { + name: "Test 2", + address: "Here 2" + } + } + }; + it('should return Map Instance', function () { + (0, _chai.expect)((0, _buildmap.buildMap)({}, '')).to.be.instanceOf(Map); + }); + [[obj1, 'dataset.*', 'address', '{"10082":"Here 1","10084":"Here 2"}'], [obj1, 'x', undefined, '{}'], [obj1, 'dataset.*', 'name', '{"10082":"Test 1","10084":"Test 2"}']].forEach(function (data) { + var a = data.shift(); + var b = data.shift(); + var c = data.shift(); + var d = data.shift(); + it('buildMap(' + JSON.stringify(a) + ',' + JSON.stringify(b) + ',' + JSON.stringify(c) + ') should return ' + JSON.stringify(d) + ' ', function () { + var t = (0, _buildmap.buildMap)(a, b, c); + var m = JSON.stringify(mapToObj(t)); + (0, _chai.expect)(m).to.be.equal(d); + }); + }); + }); +}); + +},{"../../../source/data/buildmap.js":1134,"chai":132}],1176:[function(require,module,exports){ "use strict"; var _diff = require("../../../source/data/diff.js"); @@ -228365,7 +230168,7 @@ describe('Diff', function () { }); }); -},{"../../../source/data/diff.js":1130,"../../../source/types/queue.js":1151,"chai":128}],1167:[function(require,module,exports){ +},{"../../../source/data/diff.js":1135,"../../../source/types/queue.js":1159,"chai":132}],1177:[function(require,module,exports){ "use strict"; var _pathfinder = require("../../../source/data/pathfinder.js"); @@ -228455,6 +230258,116 @@ describe('Pathfinder', function () { }); }); describe('.getVia()', function () { + describe('.getVia()', function () { + beforeEach(function () { + object = { + a: { + b: { + c: [4, "test1", false, undefined, parseInt("a")], + d: undefined, + e: false, + f: [{ + g: false, + h: 3, + i: ["test2"] + }], + j: {}, + k: new Map().set('m', { + n: 3 + }), + l: new Set().add({ + n: 4 + }), + o: [{ + p: { + q: 1, + r: true + } + }, { + p: { + q: 2, + r: true + } + }, { + p: { + q: 3, + r: true + } + }, { + p: { + q: 4, + r: true + } + }, { + p: { + q: 5, + r: true + } + }], + s: { + t: { + a: 1 + }, + u: { + a: 2 + }, + v: { + a: 3 + }, + x: { + a: 4 + } + } + } + } + }; + pathfinder = new _pathfinder.Pathfinder(object); + }); + [['a.b.s.*.a', '[["t",1],["u",2],["v",3],["x",4]]'], ['a.b.s.*', '[["t",{"a":1}],["u",{"a":2}],["v",{"a":3}],["x",{"a":4}]]'], ['a.b.o.*.p.q', '[["0",1],["1",2],["2",3],["3",4],["4",5]]'], ['a.b.o.*.p.r', '[["0",true],["1",true],["2",true],["3",true],["4",true]]'], ['a.b.o.*.p', '[["0",{"q":1,"r":true}],["1",{"q":2,"r":true}],["2",{"q":3,"r":true}],["3",{"q":4,"r":true}],["4",{"q":5,"r":true}]]']].forEach(function (data) { + var a = data.shift(); + var b = data.shift(); + it('.getVia(' + a + ') should result ' + b, function () { + var r = pathfinder.getVia(a); + (0, _chai.expect)(JSON.stringify(Array.from(r))).is.equal(b); + }); + }); + }); + it('.getVia() should result ', function () { + var p = new _pathfinder.Pathfinder({ + a: { + x: [{ + c: 1 + }, { + c: 2 + }], + y: true + }, + b: { + x: [{ + c: 1, + d: false + }, { + c: 2 + }], + y: true + } + }); + var r = p.getVia("*.x.*.c"); + + function mapToObj(map) { + var obj = {}; + map.forEach(function (v, k) { + if (v instanceof Map) { + obj[k] = mapToObj(v); + } else { + obj[k] = v; + } + }); + return obj; + } + + (0, _chai.expect)(JSON.stringify(mapToObj(r))).is.equal('{"a":{"0":1,"1":2},"b":{"0":1,"1":2}}'); + }); it('.getVia(a.b.l.0.n) with map should return 4 ', function () { (0, _chai.expect)(pathfinder.getVia('a.b.l.0.n')).is.equal(4); }); @@ -228476,7 +230389,7 @@ describe('Pathfinder', function () { }); }); -},{"../../../source/data/pathfinder.js":1131,"chai":128}],1168:[function(require,module,exports){ +},{"../../../source/data/pathfinder.js":1136,"chai":132}],1178:[function(require,module,exports){ (function (global){(function (){ "use strict"; @@ -228537,7 +230450,7 @@ describe('Pipe', function () { }); }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../../../source/data/pipe.js":1132,"@babel/runtime/helpers/typeof":20,"@peculiar/webcrypto":42,"chai":128}],1169:[function(require,module,exports){ +},{"../../../source/data/pipe.js":1137,"@babel/runtime/helpers/typeof":24,"@peculiar/webcrypto":46,"chai":132}],1179:[function(require,module,exports){ (function (global){(function (){ "use strict"; @@ -228578,7 +230491,9 @@ if ((typeof window === "undefined" ? "undefined" : (0, _typeof2["default"])(wind describe('Transformer', function () { describe('Transformer.run()', function () { - [['prefix:Hello\\ ', 'test', "Hello test"], ['prefix:a\\\\: ', 'test', "a\\test"], ['prefix:a\\ ', 'test', "a test"], ['static:abc:a:b:x', "test", "abc:a:b:x"], ['tolowercase', "A:b:Cse4", "a:b:cse4"], ['toupper', "A:b:Cse4", "A:B:CSE4"], ['tostring', 5, "5"], ['tostring', [1, 2, 3, {}], "1,2,3,[object Object]"], ['tointeger', "5", 5], ['trim', " 5 ", "5"], ['trim', " a", "a"], ['trim', " ", ""], ['rawurlencode', "üöä", "%C3%BC%C3%B6%C3%A4"], ['call:testcallback:4:5:6', "test", "test456"], ['plain', 't<br>est', "test"], ['if:a:b', true, "a"], ['if:a:b', 'on', "a"], ['if:a:b', 'true', "a"], ['if:a:b', 'false', "b"], ['if:a:b', 9, "a"], ['if:a:b', '', "b"], ['if:a:b', undefined, "b"], ['if:a:b', false, "b"], ['ucfirst', 'car', "Car"], ['ucfirst', 'cAr', "CAr"], ['ucwords', 'cAr runs', "CAr Runs"], ['tointeger', '6', 6], ['length', 'test', 4], ['base64', 'test', "dGVzdA=="], ['prefix:a', 'test', "atest"], ['suffix:a', 'test', "testa"], ['index:a', { + [['prefix:Hello\\ ', 'test', "Hello test"], ['tojson', { + a: 4 + }, "{\"a\":4}"], ['prefix:a\\\\: ', 'test', "a\\test"], ['prefix:a\\ ', 'test', "a test"], ['static:abc:a:b:x', "test", "abc:a:b:x"], ['tolowercase', "A:b:Cse4", "a:b:cse4"], ['toupper', "A:b:Cse4", "A:B:CSE4"], ['tostring', 5, "5"], ['tostring', [1, 2, 3, {}], "1,2,3,[object Object]"], ['tointeger', "5", 5], ['trim', " 5 ", "5"], ['trim', " a", "a"], ['trim', " ", ""], ['rawurlencode', "üöä", "%C3%BC%C3%B6%C3%A4"], ['call:testcallback:4:5:6', "test", "test456"], ['plain', 't<br>est', "test"], ['if:a:b', true, "a"], ['if:a:b', 'on', "a"], ['if:a:b', 'true', "a"], ['if:a:b', 'false', "b"], ['if:a:b', 9, "a"], ['if:a:b', '', "b"], ['if:a:b', undefined, "b"], ['if:a:b', false, "b"], ['ucfirst', 'car', "Car"], ['ucfirst', 'cAr', "CAr"], ['ucwords', 'cAr runs', "CAr Runs"], ['tointeger', '6', 6], ['length', 'test', 4], ['base64', 'test', "dGVzdA=="], ['prefix:a', 'test', "atest"], ['suffix:a', 'test', "testa"], ['index:a', { a: 4 }, 4], ['index:2', [2, 4, 7], 7], ['index:x:test', [2, 4, 7], 'test'], ['path:a.b.c', { a: { @@ -228645,7 +230560,7 @@ describe('Transformer', function () { }); }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../../../source/data/transformer.js":1133,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"@peculiar/webcrypto":42,"chai":128,"jsdom":333}],1170:[function(require,module,exports){ +},{"../../../source/data/transformer.js":1138,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"@peculiar/webcrypto":46,"chai":132,"jsdom":337}],1180:[function(require,module,exports){ 'use strict'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -228711,7 +230626,7 @@ describe('Assembler', function () { }); }); -},{"../../../source/dom/assembler.js":1134,"../../util/jsdom.js":1196,"@babel/runtime/helpers/asyncToGenerator":4,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/regenerator":24,"chai":128}],1171:[function(require,module,exports){ +},{"../../../source/dom/assembler.js":1139,"../../util/jsdom.js":1210,"@babel/runtime/helpers/asyncToGenerator":5,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/regenerator":28,"chai":132}],1181:[function(require,module,exports){ 'use strict'; // var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -228740,8 +230655,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2["default"])(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -//import 'jsdom-global/register.js' -//import {CustomElement, registerCustomElement} from "../../../source/dom/customelement.js"; var CustomElement, registerCustomElement, TestComponent; describe('DOM', function () { before(function (done) { @@ -228767,6 +230680,11 @@ describe('DOM', function () { value: function getTag() { return "monster-testclass"; } + }, { + key: "getTemplate", + value: function getTemplate() { + return ''; + } }]); return TestComponent; }(CustomElement); @@ -228784,7 +230702,7 @@ describe('DOM', function () { }); }); -},{"../../../source/dom/customelement.js":1135,"../../util/jsdom.js":1196,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/typeof":20,"chai":128}],1172:[function(require,module,exports){ +},{"../../../source/dom/customelement.js":1141,"../../util/jsdom.js":1210,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/typeof":24,"chai":132}],1182:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -228867,7 +230785,7 @@ describe('Handle', function () { }); }); -},{"../../../source/dom/handle.js":1136,"../../../source/dom/util.js":1138,"../../../source/types/global.js":1145,"../../../source/types/proxyobserver.js":1150,"../../util/jsdom.js":1196,"@babel/runtime/helpers/asyncToGenerator":4,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/regenerator":24,"chai":128}],1173:[function(require,module,exports){ +},{"../../../source/dom/handle.js":1142,"../../../source/dom/util.js":1146,"../../../source/types/global.js":1153,"../../../source/types/proxyobserver.js":1158,"../../util/jsdom.js":1210,"@babel/runtime/helpers/asyncToGenerator":5,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/regenerator":28,"chai":132}],1183:[function(require,module,exports){ 'use strict'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -228924,7 +230842,202 @@ describe('Template', function () { }); }); -},{"../../../source/dom/template.js":1137,"../../util/jsdom.js":1196,"@babel/runtime/helpers/asyncToGenerator":4,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/regenerator":24,"chai":128}],1174:[function(require,module,exports){ +},{"../../../source/dom/template.js":1143,"../../util/jsdom.js":1210,"@babel/runtime/helpers/asyncToGenerator":5,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/regenerator":28,"chai":132}],1184:[function(require,module,exports){ +'use strict'; + +var _util = require("../../../source/dom/util.js"); + +var _jsdom = require("../../util/jsdom.js"); + +var _chai = require("chai"); + +var _theme = require("../../../source/dom/theme.js"); + +describe('Theme', function () { + before(function (done) { + (0, _jsdom.initJSDOM)().then(function () { + done(); + }); + }); + describe('new Theme()', function () { + it('should return Theme object', function () { + (0, _chai.expect)(new _theme.Theme('my-theme')).is.a.instanceOf(_theme.Theme); + }); + it('should return Theme-Name', function () { + (0, _chai.expect)(new _theme.Theme('my-theme').getName()).is.equal('my-theme'); + }); + it('should throw Error because empty argument', function () { + (0, _chai.expect)(function () { + return new _theme.Theme(); + }).to["throw"](TypeError); + }); + it('should throw Error because no string argument', function () { + (0, _chai.expect)(function () { + return new _theme.Theme(2); + }).to["throw"](TypeError); + }); + }); + describe('getDocumentTheme()', function () { + it('should return Theme object', function () { + (0, _chai.expect)((0, _theme.getDocumentTheme)()).is.a.instanceOf(_theme.Theme); + }); + it('should return Default Theme name', function () { + (0, _chai.expect)((0, _theme.getDocumentTheme)().getName()).is.equal('monster'); + }); + }); + describe('getDocumentTheme()', function () { + beforeEach(function () { + document.querySelector('html').setAttribute('data-monster-theme-name', 'testtheme'); + }); + afterEach(function () { + document.querySelector('html').removeAttribute('data-monster-theme-name'); + }); + it('should return testtheme Theme name', function () { + (0, _chai.expect)((0, _theme.getDocumentTheme)().getName()).is.equal('testtheme'); + }); + }); +}); + +},{"../../../source/dom/theme.js":1144,"../../../source/dom/util.js":1146,"../../util/jsdom.js":1210,"chai":132}],1185:[function(require,module,exports){ +'use strict'; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); + +var _updater = require("../../../source/dom/updater.js"); + +var _chai = _interopRequireDefault(require("chai")); + +var _jsdom = require("../../util/jsdom.js"); + +var _chaiDom = require("../../util/chai-dom.js"); + +var expect = _chai["default"].expect; + +_chai["default"].use(_chaiDom.chaiDom); + +var html1 = "\n <template id=\"current\">\n <li data-monster-replace=\"path:current | tojson\"></li>\n </template>\n <div id=\"test1\">\n <ul data-monster-insert=\"current path:a.b\">\n </ul>\n </div>\n"; +var html2 = "\n <div id=\"test1\">\n <div data-monster-replace=\"path:text | tolower\"> </div>\n <div data-monster-replace=\"path:text | call:myformatter\"> </div>\n </div>\n"; +describe('DOM', function () { + before(function (done) { + (0, _jsdom.initJSDOM)().then(function () { + done(); + }); + }); + beforeEach(function () { + var mocks = document.getElementById('mocks'); + mocks.innerHTML = html1; + }); + afterEach(function () { + var mocks = document.getElementById('mocks'); + mocks.innerHTML = ""; + }); + describe('Updater()', function () { + describe('Example code', function () {}); + }); + describe('Updater()', function () { + describe('test Errors', function () { + it('should throw value is not an instance of HTMLElement Error', function () { + expect(function () { + return new _updater.Updater(); + }).to["throw"](TypeError); + }); + it('should throw value is not an instance of HTMLElement Error', function () { + var element = document.getElementById('test1'); + expect(function () { + return new _updater.Updater(element); + }).to["throw"](TypeError); + }); + it('should throw Error: the value is not iterable', function (done) { + var element = document.getElementById('test1'); + var u = new _updater.Updater(element, { + a: { + x: [] + } + }); + u.run().then(function () { + done(new Error("should never called!")); + })["catch"](function (e) { + expect(e).is.instanceOf(Error); + expect(e + "").to.be.equal('Error: the value is not iterable'); + done(); + }); + }); + }); + }); + describe('Updater()', function () { + describe('new Updater', function () { + it('should return document object', function () { + var element = document.getElementById('test1'); + var d = new _updater.Updater(element, {}); + expect((0, _typeof2["default"])(d)).is.equal('object'); + }); + }); + }); + describe('Updater()', function () { + describe('Repeat', function () { + it('should build 6 li elements', function (done) { + var element = document.getElementById('test1'); + var d = new _updater.Updater(element, { + a: { + b: [{ + i: '0' + }, { + i: '1' + }, { + i: '2' + }, { + i: '3' + }, { + i: '4' + }, { + i: '5' + }] + } + }); + d.run().then(function () { + expect((0, _typeof2["default"])(d)).is.equal('object'); + + for (var i = 0; i < 6; i++) { + expect(element).contain.html('<li data-monster-replace="path:a.b.' + i + ' | tojson" data-monster-insert-reference="current-' + i + '">{"i":"' + i + '"}</li>'); + } + + done(); + })["catch"](function (e) { + done(new Error(e)); + }); + }); + }); + }); + describe('Updater()', function () { + beforeEach(function () { + var mocks = document.getElementById('mocks'); + mocks.innerHTML = html2; + }); + describe('Replace', function () { + it('should add lower hello and HELLOyes!', function (done) { + var element = document.getElementById('test1'); + var d = new _updater.Updater(element, { + text: "HALLO" + }); + d.setCallback('myformatter', function (a) { + return a + 'yes!'; + }); + d.run().then(function () { + expect((0, _typeof2["default"])(d)).is.equal('object'); + expect(element).contain.html('<div data-monster-replace="path:text | tolower">hallo</div>'); + expect(element).contain.html('<div data-monster-replace="path:text | call:myformatter">HALLOyes!</div>'); + done(); + })["catch"](function (e) { + done(new Error(e)); + }); + }); + }); + }); +}); + +},{"../../../source/dom/updater.js":1145,"../../util/chai-dom.js":1209,"../../util/jsdom.js":1210,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"chai":132}],1186:[function(require,module,exports){ 'use strict'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -228985,7 +231098,7 @@ describe('DOM', function () { }); }); -},{"../../../source/dom/util.js":1138,"../../util/jsdom.js":1196,"@babel/runtime/helpers/asyncToGenerator":4,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"@babel/runtime/regenerator":24,"chai":128}],1175:[function(require,module,exports){ +},{"../../../source/dom/util.js":1146,"../../util/jsdom.js":1210,"@babel/runtime/helpers/asyncToGenerator":5,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"@babel/runtime/regenerator":28,"chai":132}],1187:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -229156,7 +231269,7 @@ describe('Logging', function () { }); }); -},{"../../../source/logging/handler.js":1139,"../../../source/logging/logentry.js":1140,"../../../source/logging/logger.js":1141,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/get":8,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"chai":128}],1176:[function(require,module,exports){ +},{"../../../source/logging/handler.js":1147,"../../../source/logging/logentry.js":1148,"../../../source/logging/logger.js":1149,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/get":9,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"chai":132}],1188:[function(require,module,exports){ "use strict"; var _chai = require("chai"); @@ -229187,7 +231300,7 @@ describe('Log', function () { }); }); -},{"../../../source/logging/logentry.js":1140,"chai":128}],1177:[function(require,module,exports){ +},{"../../../source/logging/logentry.js":1148,"chai":132}],1189:[function(require,module,exports){ "use strict"; var _chai = require("chai"); @@ -229250,7 +231363,7 @@ describe('Logging', function () { }); }); -},{"../../../source/logging/logger.js":1141,"chai":128}],1178:[function(require,module,exports){ +},{"../../../source/logging/logger.js":1149,"chai":132}],1190:[function(require,module,exports){ (function (global){(function (){ "use strict"; @@ -229302,7 +231415,7 @@ describe('Math', function () { }); }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../../../source/math/random.js":1142,"@babel/runtime/helpers/typeof":20,"@peculiar/webcrypto":42,"chai":128}],1179:[function(require,module,exports){ +},{"../../../source/math/random.js":1150,"@babel/runtime/helpers/typeof":24,"@peculiar/webcrypto":46,"chai":132}],1191:[function(require,module,exports){ "use strict"; var _chai = require("chai"); @@ -229314,7 +231427,7 @@ describe('Monster', function () { var monsterVersion; /**#@+ dont touch, replaced by make with package.json version */ - monsterVersion = new _version.Version('1.7.0'); + monsterVersion = new _version.Version('1.8.0'); /**#@-*/ var m = _version.Monster.getVersion(); @@ -229325,7 +231438,7 @@ describe('Monster', function () { }); }); -},{"../../source/types/version.js":1157,"chai":128}],1180:[function(require,module,exports){ +},{"../../source/types/version.js":1166,"chai":132}],1192:[function(require,module,exports){ "use strict"; var _chai = require("chai"); @@ -229343,7 +231456,7 @@ describe('Base', function () { }); }); -},{"../../../source/types/base.js":1144,"chai":128}],1181:[function(require,module,exports){ +},{"../../../source/types/base.js":1152,"chai":132}],1193:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -229375,7 +231488,7 @@ describe('Global', function () { }); }); -},{"../../../source/types/global.js":1145,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"chai":128}],1182:[function(require,module,exports){ +},{"../../../source/types/global.js":1153,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"chai":132}],1194:[function(require,module,exports){ (function (global){(function (){ "use strict"; @@ -229411,7 +231524,7 @@ describe('ID', function () { }); }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../../../source/types/id.js":1146,"@babel/runtime/helpers/typeof":20,"@peculiar/webcrypto":42,"chai":128}],1183:[function(require,module,exports){ +},{"../../../source/types/id.js":1154,"@babel/runtime/helpers/typeof":24,"@peculiar/webcrypto":46,"chai":132}],1195:[function(require,module,exports){ (function (global){(function (){ "use strict"; @@ -229523,7 +231636,7 @@ describe('Is', function () { }); }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../../../source/types/id.js":1146,"../../../source/types/is.js":1147,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"@peculiar/webcrypto":42,"chai":128}],1184:[function(require,module,exports){ +},{"../../../source/types/id.js":1154,"../../../source/types/is.js":1155,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"@peculiar/webcrypto":46,"chai":132}],1196:[function(require,module,exports){ "use strict"; var _chai = require("chai"); @@ -229615,7 +231728,7 @@ describe('Observer', function () { }); }); -},{"../../../source/types/observer.js":1148,"chai":128}],1185:[function(require,module,exports){ +},{"../../../source/types/observer.js":1156,"chai":132}],1197:[function(require,module,exports){ "use strict"; var _observerlist = require("../../../source/types/observerlist.js"); @@ -229692,7 +231805,7 @@ describe('ObserverList', function () { }); }); -},{"../../../source/types/observer.js":1148,"../../../source/types/observerlist.js":1149,"chai":128}],1186:[function(require,module,exports){ +},{"../../../source/types/observer.js":1156,"../../../source/types/observerlist.js":1157,"chai":132}],1198:[function(require,module,exports){ "use strict"; var _chai = require("chai"); @@ -229776,9 +231889,17 @@ describe('ProxyObserver', function () { }); }); }); + describe('notify observer ', function () { + it('should return promise', function () { + var proxy = new _proxyobserver.ProxyObserver({}); + var observer = new _observer.Observer(function () {}); + proxy.attachObserver(observer); + (0, _chai.expect)(proxy.notifyObservers()).is.instanceOf(Promise); + }); + }); }); -},{"../../../source/types/is.js":1147,"../../../source/types/observer.js":1148,"../../../source/types/proxyobserver.js":1150,"chai":128}],1187:[function(require,module,exports){ +},{"../../../source/types/is.js":1155,"../../../source/types/observer.js":1156,"../../../source/types/proxyobserver.js":1158,"chai":132}],1199:[function(require,module,exports){ "use strict"; var _chai = require("chai"); @@ -229819,7 +231940,7 @@ describe('Queue', function () { }); }); -},{"../../../source/types/queue.js":1151,"chai":128}],1188:[function(require,module,exports){ +},{"../../../source/types/queue.js":1159,"chai":132}],1200:[function(require,module,exports){ (function (global){(function (){ "use strict"; @@ -229850,7 +231971,7 @@ describe('RandomID', function () { }); }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../../../source/types/randomid.js":1152,"@babel/runtime/helpers/typeof":20,"@peculiar/webcrypto":42,"chai":128}],1189:[function(require,module,exports){ +},{"../../../source/types/randomid.js":1160,"@babel/runtime/helpers/typeof":24,"@peculiar/webcrypto":46,"chai":132}],1201:[function(require,module,exports){ "use strict"; var _chai = require("chai"); @@ -229891,7 +232012,7 @@ describe('Stack', function () { }); }); -},{"../../../source/types/stack.js":1153,"chai":128}],1190:[function(require,module,exports){ +},{"../../../source/types/stack.js":1161,"chai":132}],1202:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -230088,7 +232209,42 @@ describe('TokenList', function () { }); }); -},{"../../../source/types/tokenlist.js":1154,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/toConsumableArray":19,"@babel/runtime/helpers/typeof":20,"chai":128}],1191:[function(require,module,exports){ +},{"../../../source/types/tokenlist.js":1162,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/toConsumableArray":23,"@babel/runtime/helpers/typeof":24,"chai":132}],1203:[function(require,module,exports){ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); + +var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); + +var _stack = require("../../../source/types/stack.js"); + +var _typeof = require("../../../source/types/typeof.js"); + +var _chai = require("chai"); + +describe('typeOf', function () { + describe('.typeOf()', function () { + [[true, 'boolean'], [null, 'null'], [undefined, 'undefined'], [Promise.resolve(), 'promise'], [new WeakMap(), 'weakmap'], [new Map(), 'map'], [NaN, 'number'], [/*#__PURE__*/_regenerator["default"].mark(function _callee() { + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + case "end": + return _context.stop(); + } + } + }, _callee); + }), 'generatorfunction'], [5, 'number'], [function () {}, 'function'], [/a/, 'regexp'], [new Date(), 'date'], [{}, 'object'], [[], 'array'], ['', 'string'], [new Error(), 'error'], [new _stack.Stack(), 'stack']].forEach(function (data) { + var a = data.shift(); + var b = data.shift(); + it('should return ' + b + ' when the value ' + (0, _typeof.typeOf)(a), function () { + (0, _chai.expect)((0, _typeof.typeOf)(a)).to.be.equal(b); + }); + }); + }); +}); + +},{"../../../source/types/stack.js":1161,"../../../source/types/typeof.js":1163,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/regenerator":28,"chai":132}],1204:[function(require,module,exports){ "use strict"; var _chai = require("chai"); @@ -230174,7 +232330,7 @@ describe('UniqueQueue', function () { }); }); -},{"../../../source/types/uniquequeue.js":1155,"chai":128}],1192:[function(require,module,exports){ +},{"../../../source/types/uniquequeue.js":1164,"chai":132}],1205:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -230203,7 +232359,7 @@ describe('validate', function () { }); } else { it('.validatePrimitive(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () { - (0, _chai.expect)((0, _validate.validatePrimitive)(a)).to.be.undefined; + (0, _chai.expect)((0, _validate.validatePrimitive)(a)).to.be.equal(a); }); } }); @@ -230221,7 +232377,7 @@ describe('validate', function () { }); } else { it('.validateInteger(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () { - (0, _chai.expect)((0, _validate.validateInteger)(a)).to.be.undefined; + (0, _chai.expect)((0, _validate.validateInteger)(a)).to.be.equal(a); }); } }); @@ -230240,7 +232396,7 @@ describe('validate', function () { }); } else { it('.validateIterable(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () { - (0, _chai.expect)((0, _validate.validateIterable)(a)).to.be.undefined; + (0, _chai.expect)((0, _validate.validateIterable)(a)).to.be.equal(a); }); } }); @@ -230258,7 +232414,7 @@ describe('validate', function () { }); } else { it('.validateBoolean(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () { - (0, _chai.expect)((0, _validate.validateBoolean)(a)).to.be.undefined; + (0, _chai.expect)((0, _validate.validateBoolean)(a)).to.be.equal(a); }); } }); @@ -230277,7 +232433,7 @@ describe('validate', function () { }); } else { it('.validateString(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () { - (0, _chai.expect)((0, _validate.validateString)(a)).to.be.undefined; + (0, _chai.expect)((0, _validate.validateString)(a)).to.be.equal(a); }); } }); @@ -230296,7 +232452,7 @@ describe('validate', function () { }); } else { it('.validateObject(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () { - (0, _chai.expect)((0, _validate.validateObject)(a)).to.be.undefined; + (0, _chai.expect)((0, _validate.validateObject)(a)).to.be.equal(a); }); } }); @@ -230318,7 +232474,7 @@ describe('validate', function () { var a = data.shift(); var b = data.shift(); it('.validateInstance(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ', function () { - (0, _chai.expect)((0, _validate.validateInstance)(a, b)).to.be.undefined; + (0, _chai.expect)((0, _validate.validateInstance)(a, b)).to.be.equal(a); }); }); }); @@ -230336,7 +232492,7 @@ describe('validate', function () { }); } else { it('.validateArray(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () { - (0, _chai.expect)((0, _validate.validateArray)(a)).to.be.undefined; + (0, _chai.expect)((0, _validate.validateArray)(a)).to.be.equal(a); }); } }); @@ -230355,14 +232511,14 @@ describe('validate', function () { }); } else { it('.validateFunction(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () { - (0, _chai.expect)((0, _validate.validateFunction)(a)).to.be.undefined; + (0, _chai.expect)((0, _validate.validateFunction)(a)).to.be.equal(a); }); } }); }); }); -},{"../../../source/types/base.js":1144,"../../../source/types/id.js":1146,"../../../source/types/validate.js":1156,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"chai":128}],1193:[function(require,module,exports){ +},{"../../../source/types/base.js":1152,"../../../source/types/id.js":1154,"../../../source/types/validate.js":1165,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"chai":132}],1206:[function(require,module,exports){ "use strict"; var _version = require("../../../source/types/version.js"); @@ -230393,7 +232549,7 @@ describe('Version', function () { }); }); -},{"../../../source/types/version.js":1157,"chai":128}],1194:[function(require,module,exports){ +},{"../../../source/types/version.js":1166,"chai":132}],1207:[function(require,module,exports){ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -230505,7 +232661,7 @@ describe('Clone', function () { }); }); -},{"../../../source/util/clone.js":1158,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"chai":128}],1195:[function(require,module,exports){ +},{"../../../source/util/clone.js":1167,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"chai":132}],1208:[function(require,module,exports){ "use strict"; var _chai = require("chai"); @@ -230622,7 +232778,255 @@ describe('Comparator', function () { }); }); -},{"../../../source/util/comparator.js":1159,"chai":128}],1196:[function(require,module,exports){ +},{"../../../source/util/comparator.js":1168,"chai":132}],1209:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.chaiDom = chaiDom; + +/******** + + Convert chai-dom 1.8.1 to es module, without any other modification. + From https://github.com/nathanboktae/chai-dom/blob/86c3423/chai-dom.js + See https://github.com/nathanboktae/chai-dom/issues/38 + + Usage: + import { chaiDom } from '<path-to>/chai-dom'; + chai.use(chaiDom); + + Copyright (c) 2015 Nathan Black and other contributors + + This work is licensed under the terms of the MIT license. For a copy, see <https://opensource.org/licenses/MIT>. + + **********/ +function chaiDom(chai, utils) { + var flag = utils.flag, + elToString = function elToString(el) { + var desc; + + if (isNodeList(el)) { + if (el.length === 0) return 'empty NodeList'; + desc = Array.prototype.slice.call(el, 0, 5).map(elToString).join(', '); + return el.length > 5 ? desc + '... (+' + (el.length - 5) + ' more)' : desc; + } + + if (!isHTMLElement(el)) { + return String(el); + } + + desc = el.tagName.toLowerCase(); + + if (el.id) { + desc += '#' + el.id; + } + + if (el.className) { + desc += '.' + String(el.className).replace(/\s+/g, '.'); + } + + Array.prototype.forEach.call(el.attributes, function (attr) { + if (attr.name !== 'class' && attr.name !== 'id') { + desc += '[' + attr.name + (attr.value ? '="' + attr.value + '"]' : ']'); + } + }); + return desc; + }, + attrAssert = function attrAssert(name, val) { + var el = flag(this, 'object'), + actual = el.getAttribute(name); + + if (!flag(this, 'negate') || undefined === val) { + this.assert(!!el.attributes[name], 'expected ' + elToString(el) + ' to have an attribute #{exp}', 'expected ' + elToString(el) + ' not to have an attribute #{exp}', name); + } + + if (undefined !== val) { + this.assert(val === actual, 'expected ' + elToString(el) + ' to have an attribute ' + utils.inspect(name) + ' with the value #{exp}, but the value was #{act}', 'expected ' + elToString(el) + ' not to have an attribute ' + utils.inspect(name) + ' with the value #{act}', val, actual); + } + + flag(this, 'object', actual); + }, + isHTMLElement = function isHTMLElement(el) { + return el.nodeType === 1; // window.Node.ELEMENT_NODE + }, + isNodeList = function isNodeList(obj) { + return Object.prototype.toString.call(obj) === '[object NodeList]'; + }; + + utils.elToString = elToString; + chai.Assertion.addMethod('attr', attrAssert); + chai.Assertion.addMethod('attribute', attrAssert); + chai.Assertion.addMethod('class', function (className) { + var el = flag(this, 'object'); + this.assert(el.classList.contains(className), 'expected ' + elToString(el) + ' to have class #{exp}', 'expected ' + elToString(el) + ' not to have class #{exp}', className); + }); + chai.Assertion.addMethod('id', function (id) { + var el = flag(this, 'object'); + this.assert(el.id == id, 'expected ' + elToString(el) + ' to have id #{exp}', 'expected ' + elToString(el) + ' not to have id #{exp}', id); + }); + chai.Assertion.addMethod('html', function (html) { + var el = flag(this, 'object'), + actual = flag(this, 'object').innerHTML; + + if (flag(this, 'contains')) { + this.assert(actual.indexOf(html) >= 0, 'expected #{act} to contain HTML #{exp}', 'expected #{act} not to contain HTML #{exp}', html, actual); + } else { + this.assert(actual === html, 'expected ' + elToString(el) + ' to have HTML #{exp}, but the HTML was #{act}', 'expected ' + elToString(el) + ' not to have HTML #{exp}', html, actual); + } + }); + chai.Assertion.addChainableMethod('trimmed', null, function () { + flag(this, 'trim-text', true); + }); + chai.Assertion.addMethod('text', function (text) { + var obj = flag(this, 'object'), + contains = flag(this, 'contains'), + trim = flag(this, 'trim-text'), + actual, + result; + + if (isNodeList(obj)) { + actual = Array.prototype.map.call(obj, function (el) { + return trim ? el.textContent.trim() : el.textContent; + }); + + if (Array.isArray(text)) { + result = contains ? text[flag(this, 'negate') ? 'some' : 'every'](function (t) { + return Array.prototype.some.call(obj, function (el) { + return (trim ? el.textContent.trim() : el.textContent) === t; + }); + }) : utils.eql(actual, text); + actual = actual.join(); + text = text.join(); + } else { + actual = actual.join(''); + result = contains ? actual.indexOf(text) >= 0 : actual === text; + } + } else { + actual = trim ? obj.textContent.trim() : obj.textContent; + result = contains ? actual.indexOf(text) >= 0 : actual === text; + } + + var objDesc = elToString(obj), + textMsg = trim ? 'trimmed text' : 'text'; + + if (contains) { + this.assert(result, 'expected ' + objDesc + ' to contain #{exp}, but the ' + textMsg + ' was #{act}', 'expected ' + objDesc + ' not to contain #{exp}, but the ' + textMsg + ' was #{act}', text, actual); + } else { + this.assert(result, 'expected ' + objDesc + ' to have ' + textMsg + ' #{exp}, but the ' + textMsg + ' was #{act}', 'expected ' + objDesc + ' not to have ' + textMsg + ' #{exp}', text, actual); + } + }); + chai.Assertion.addMethod('value', function (value) { + var el = flag(this, 'object'), + actual = flag(this, 'object').value; + this.assert(flag(this, 'object').value === value, 'expected ' + elToString(el) + ' to have value #{exp}, but the value was #{act}', 'expected ' + elToString(el) + ' not to have value #{exp}', value, actual); + }); + chai.Assertion.overwriteProperty('exist', function (_super) { + return function () { + var obj = flag(this, 'object'); + + if (isNodeList(obj)) { + this.assert(obj.length > 0, 'expected an empty NodeList to have nodes', 'expected ' + elToString(obj) + ' to not exist'); + } else { + _super.apply(this, arguments); + } + }; + }); + chai.Assertion.overwriteProperty('empty', function (_super) { + return function () { + var obj = flag(this, 'object'); + + if (isHTMLElement(obj)) { + this.assert(obj.children.length === 0, 'expected ' + elToString(obj) + ' to be empty', 'expected ' + elToString(obj) + ' to not be empty'); + } else if (isNodeList(obj)) { + this.assert(obj.length === 0, 'expected ' + elToString(obj) + ' to be empty', 'expected ' + elToString(obj) + ' to not be empty'); + } else { + _super.apply(this, arguments); + } + }; + }); + chai.Assertion.overwriteChainableMethod('length', function (_super) { + return function (length) { + var obj = flag(this, 'object'); + + if (isNodeList(obj) || isHTMLElement(obj)) { + var actualLength = obj.children ? obj.children.length : obj.length; + this.assert(actualLength === length, 'expected ' + elToString(obj) + ' to have #{exp} children but it had #{act} children', 'expected ' + elToString(obj) + ' to not have #{exp} children', length, actualLength); + } else { + _super.apply(this, arguments); + } + }; + }, function (_super) { + return function () { + _super.call(this); + }; + }); + chai.Assertion.overwriteMethod('match', function (_super) { + return function (selector) { + var obj = flag(this, 'object'); + + if (isHTMLElement(obj)) { + this.assert(obj.matches(selector), 'expected ' + elToString(obj) + ' to match #{exp}', 'expected ' + elToString(obj) + ' to not match #{exp}', selector); + } else if (isNodeList(obj)) { + this.assert(!!obj.length && Array.prototype.every.call(obj, function (el) { + return el.matches(selector); + }), 'expected ' + elToString(obj) + ' to match #{exp}', 'expected ' + elToString(obj) + ' to not match #{exp}', selector); + } else { + _super.apply(this, arguments); + } + }; + }); + chai.Assertion.overwriteChainableMethod('contain', function (_super) { + return function (subitem) { + var obj = flag(this, 'object'); + + if (isHTMLElement(obj)) { + if (typeof subitem === 'string') { + this.assert(!!obj.querySelector(subitem), 'expected ' + elToString(obj) + ' to contain #{exp}', 'expected ' + elToString(obj) + ' to not contain #{exp}', subitem); + } else { + this.assert(obj.contains(subitem), 'expected ' + elToString(obj) + ' to contain ' + elToString(subitem), 'expected ' + elToString(obj) + ' to not contain ' + elToString(subitem)); + } + } else { + _super.apply(this, arguments); + } + }; + }, function (_super) { + return function () { + _super.call(this); + }; + }); + chai.Assertion.addMethod('descendant', function (subitem) { + var obj = flag(this, 'object'), + actual = subitem; + + if (typeof subitem === 'string') { + actual = obj.querySelector(subitem); + this.assert(!!actual, 'expected ' + elToString(obj) + ' to have descendant #{exp}', 'expected ' + elToString(obj) + ' to not have descendant #{exp}', subitem); + } else { + this.assert(obj.contains(subitem), 'expected ' + elToString(obj) + ' to contain ' + elToString(subitem), 'expected ' + elToString(obj) + ' to not contain ' + elToString(subitem)); + } + + flag(this, 'object', actual); + }); + chai.Assertion.addMethod('descendants', function (selector) { + var obj = flag(this, 'object'), + actual = obj.querySelectorAll(selector); + this.assert(!!actual.length, 'expected ' + elToString(obj) + ' to have descendants #{exp}', 'expected ' + elToString(obj) + ' to not have descendants #{exp}', selector); + flag(this, 'object', actual); + }); + chai.Assertion.addProperty('displayed', function () { + var el = flag(this, 'object'), + actual = document.body.contains(el) ? window.getComputedStyle(el).display : el.style.display; + this.assert(actual !== 'none', 'expected ' + elToString(el) + ' to be displayed, but it was not', 'expected ' + elToString(el) + ' to not be displayed, but it was as ' + actual, actual); + }); + chai.Assertion.addProperty('visible', function () { + var el = flag(this, 'object'), + actual = document.body.contains(el) ? window.getComputedStyle(el).visibility : el.style.visibility; + this.assert(actual !== 'hidden' && actual !== 'collapse', 'expected ' + elToString(el) + ' to be visible, but it was ' + (actual === 'hidden' ? 'hidden' : 'collapsed'), 'expected ' + elToString(el) + ' to not be visible, but it was', actual); + }); +} + +},{}],1210:[function(require,module,exports){ 'use strict'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); @@ -230644,7 +233048,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && /** * this helper function creates the dom stack in the node environment - * + * * @return {Promise<unknown>|Promise<void>} */ function initJSDOM() { @@ -230655,10 +233059,8 @@ function initJSDOM() { }).then(function (_ref) { var JSDOM = _ref.JSDOM; - var _JSDOM = new JSDOM('', { - url: 'http://example.com/', + var _JSDOM = new JSDOM("<html>\n<head>\n</head>\n<body>\n<div id=\"mocks\"></div>\n</body>", { pretendToBeVisual: true, - referrer: "https://example.com/", contentType: "text/html", includeNodeLocations: true, storageQuota: 10000000 @@ -230668,7 +233070,7 @@ function initJSDOM() { g['window'] = window; return new Promise(function (resolve) { return window.addEventListener("load", function () { - ['self', 'document', 'Document', 'Node', 'Element', 'HTMLElement', 'customElements', 'DocumentFragment', 'DOMParser', 'MutationObserver', 'HTMLTemplateElement', 'XMLSerializer', 'NodeFilter', 'InputEvent', 'CustomEvent'].forEach(function (key) { + ['self', 'document', 'Document', 'Node', 'Element', 'HTMLElement', 'customElements', 'DocumentFragment', 'DOMParser', 'CSSStyleSheet', 'MutationObserver', 'HTMLTemplateElement', 'XMLSerializer', 'NodeFilter', 'InputEvent', 'CustomEvent'].forEach(function (key) { return g[key] = window[key]; }); resolve(); @@ -230677,7 +233079,7 @@ function initJSDOM() { }); } -},{"../../source/types/global.js":1145,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"jsdom":333}],1197:[function(require,module,exports){ +},{"../../source/types/global.js":1153,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"jsdom":337}],1211:[function(require,module,exports){ "use strict"; require("../cases/logging/logger.js"); @@ -230688,12 +233090,16 @@ require("../cases/logging/logentry.js"); require("../cases/dom/handle.js"); +require("../cases/dom/updater.js"); + require("../cases/dom/template.js"); require("../cases/dom/util.js"); require("../cases/dom/assembler.js"); +require("../cases/dom/theme.js"); + require("../cases/dom/customelement.js"); require("../cases/types/queue.js"); @@ -230712,6 +233118,8 @@ require("../cases/types/uniquequeue.js"); require("../cases/types/tokenlist.js"); +require("../cases/types/typeof.js"); + require("../cases/types/base.js"); require("../cases/types/version.js"); @@ -230746,6 +233154,8 @@ require("../cases/data/pipe.js"); require("../cases/data/diff.js"); +require("../cases/data/buildmap.js"); + require("../cases/data/transformer.js"); require("../cases/math/random.js"); @@ -230755,6 +233165,6 @@ require("../cases/monster.js"); /** this file was created automatically by the make target test-browser-monster */ SharedArrayBuffer = ArrayBuffer; -},{"../cases/constraint/andoperator.js":1160,"../cases/constraint/invalid.js":1161,"../cases/constraint/isarray.js":1162,"../cases/constraint/isobject.js":1163,"../cases/constraint/oroperator.js":1164,"../cases/constraint/valid.js":1165,"../cases/data/diff.js":1166,"../cases/data/pathfinder.js":1167,"../cases/data/pipe.js":1168,"../cases/data/transformer.js":1169,"../cases/dom/assembler.js":1170,"../cases/dom/customelement.js":1171,"../cases/dom/handle.js":1172,"../cases/dom/template.js":1173,"../cases/dom/util.js":1174,"../cases/logging/handler.js":1175,"../cases/logging/logentry.js":1176,"../cases/logging/logger.js":1177,"../cases/math/random.js":1178,"../cases/monster.js":1179,"../cases/types/base.js":1180,"../cases/types/global.js":1181,"../cases/types/id.js":1182,"../cases/types/is.js":1183,"../cases/types/observer.js":1184,"../cases/types/observerlist.js":1185,"../cases/types/proxyobserver.js":1186,"../cases/types/queue.js":1187,"../cases/types/randomid.js":1188,"../cases/types/stack.js":1189,"../cases/types/tokenlist.js":1190,"../cases/types/uniquequeue.js":1191,"../cases/types/validate.js":1192,"../cases/types/version.js":1193,"../cases/util/clone.js":1194,"../cases/util/comparator.js":1195}],1198:[function(require,module,exports){ -arguments[4][77][0].apply(exports,arguments) -},{"dup":77}]},{},[1197]); +},{"../cases/constraint/andoperator.js":1169,"../cases/constraint/invalid.js":1170,"../cases/constraint/isarray.js":1171,"../cases/constraint/isobject.js":1172,"../cases/constraint/oroperator.js":1173,"../cases/constraint/valid.js":1174,"../cases/data/buildmap.js":1175,"../cases/data/diff.js":1176,"../cases/data/pathfinder.js":1177,"../cases/data/pipe.js":1178,"../cases/data/transformer.js":1179,"../cases/dom/assembler.js":1180,"../cases/dom/customelement.js":1181,"../cases/dom/handle.js":1182,"../cases/dom/template.js":1183,"../cases/dom/theme.js":1184,"../cases/dom/updater.js":1185,"../cases/dom/util.js":1186,"../cases/logging/handler.js":1187,"../cases/logging/logentry.js":1188,"../cases/logging/logger.js":1189,"../cases/math/random.js":1190,"../cases/monster.js":1191,"../cases/types/base.js":1192,"../cases/types/global.js":1193,"../cases/types/id.js":1194,"../cases/types/is.js":1195,"../cases/types/observer.js":1196,"../cases/types/observerlist.js":1197,"../cases/types/proxyobserver.js":1198,"../cases/types/queue.js":1199,"../cases/types/randomid.js":1200,"../cases/types/stack.js":1201,"../cases/types/tokenlist.js":1202,"../cases/types/typeof.js":1203,"../cases/types/uniquequeue.js":1204,"../cases/types/validate.js":1205,"../cases/types/version.js":1206,"../cases/util/clone.js":1207,"../cases/util/comparator.js":1208}],1212:[function(require,module,exports){ +arguments[4][81][0].apply(exports,arguments) +},{"dup":81}]},{},[1211]); diff --git a/tutorials/dom-based-templating-implementation.md b/tutorials/dom-based-templating-implementation.md new file mode 100644 index 000000000..a2d2bc5b3 --- /dev/null +++ b/tutorials/dom-based-templating-implementation.md @@ -0,0 +1,17 @@ +Monster uses a DOM-based template approach. All Monster templates are +valid, parsable HTML that has been extended with some special attributes. + +## replace + +The simplest manipulation is to replace the content of a tag. +To do this, simply use the `data-monster-replace` attribute. + +``` +<div data-monster-replace="static:hello"></div> +``` + +The result is then the following html: + +``` +<div data-monster-replace="static:hello">hello</div> +``` \ No newline at end of file diff --git a/tutorials/getting-started.md b/tutorials/getting-started.md index e595f77de..71e310b41 100644 --- a/tutorials/getting-started.md +++ b/tutorials/getting-started.md @@ -22,7 +22,7 @@ index.html. </div> <script type="module"> - import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js'; + import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js'; document.getElementById('version').innerText = new Version('1.0.0').toString(); </script> @@ -47,7 +47,7 @@ the `Monster` namespace as a single javascript file. <head> <meta charset="utf-8"> <title>awaken the monster in you!</title> - <script src="https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/monster.js"></script> + <script src="https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/monster.js"></script> </head> <body> diff --git a/tutorials/tutorial.md b/tutorials/tutorial.md new file mode 100644 index 000000000..24517fb23 --- /dev/null +++ b/tutorials/tutorial.md @@ -0,0 +1,8 @@ +Monster is a lightweight, robust and easy-to-use library with modest ambitions. +Monster integrates easily with your existing websites without taking over everything. + +Here's ({@tutorial what-is-monster}) what Monster is all about. In section {@tutorial getting-started} +you can read how to integrate Monster into your own web projects. + +Monster has a free license and therefore you are free to customize Monster to your needs. + diff --git a/tutorials/tutorials.json b/tutorials/tutorials.json index 667a49efd..145f8f3cb 100644 --- a/tutorials/tutorials.json +++ b/tutorials/tutorials.json @@ -1,5 +1,16 @@ { - "getting-started": { - "title": "Getting Started" + "tutorial": { + "title": "Monster - Build fantastic websites!", + "children": { + "what-is-monster": { + "title": "What is Monster?" + }, + "getting-started": { + "title": "Getting Started" + } + }, + "dom-based-templating-implementation.md": { + "title": "DOM-based templating implementation" + } } } \ No newline at end of file diff --git a/tutorials/what-is-monster.md b/tutorials/what-is-monster.md new file mode 100644 index 000000000..40ed0b957 --- /dev/null +++ b/tutorials/what-is-monster.md @@ -0,0 +1,13 @@ +Monster is a collection of functions and classes that can help in the daily work +with Javascript to get faster to the goal. Monster does not require you to be the +only library, nor does it require you to use only Monster. + +Monster itself has no dependencies and works perfectly with other frameworks +like jQuery or Bootstrap. + +**The design goals of Monster's core library are:** + +* Easy integration with existing user interfaces. +* Robust interfaces +* Tested code and good code coverage. +* No dependencies on other libraries \ No newline at end of file -- GitLab