@schukai/monster 1.31.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG +11 -0
- package/README.md +55 -58
- package/example/constraints/andoperator.mjs +17 -0
- package/example/constraints/invalid.mjs +6 -0
- package/example/constraints/isarray.mjs +11 -0
- package/example/constraints/isobject.mjs +12 -0
- package/example/constraints/oroperator.mjs +15 -0
- package/example/constraints/valid.mjs +6 -0
- package/example/data/buildmap.mjs +67 -0
- package/example/data/datasource.mjs +7 -0
- package/example/data/diff.mjs +39 -0
- package/example/data/pathfinder-1.mjs +23 -0
- package/example/data/pathfinder-2.mjs +19 -0
- package/example/data/pipe.mjs +14 -0
- package/example/data/storage/restapi.mjs +11 -0
- package/example/data/transformer.mjs +9 -0
- package/example/dom/customelement.mjs +13 -0
- package/example/dom/theme.mjs +5 -0
- package/example/dom/updater.mjs +23 -0
- package/example/i18n/formatter.mjs +10 -0
- package/example/i18n/providers/fetch.mjs +5 -0
- package/example/i18n/translations.mjs +20 -0
- package/example/types/basewithoptions.mjs +10 -0
- package/example/types/is-1.mjs +5 -0
- package/example/types/is-10.mjs +6 -0
- package/example/types/is-2.mjs +4 -0
- package/example/types/is-3.mjs +4 -0
- package/example/types/is-4.mjs +5 -0
- package/example/types/is-5.mjs +4 -0
- package/example/types/is-6.mjs +4 -0
- package/example/types/is-7.mjs +4 -0
- package/example/types/is-8.mjs +4 -0
- package/example/types/is-9.mjs +6 -0
- package/example/types/noderecursiveiterator.mjs +32 -0
- package/example/types/observer.mjs +9 -0
- package/example/types/proxyobserver.mjs +25 -0
- package/example/types/queue.mjs +20 -0
- package/example/types/tokenlist-1.mjs +4 -0
- package/example/types/tokenlist-2.mjs +7 -0
- package/example/types/tokenlist-3.mjs +5 -0
- package/example/types/tokenlist-4.mjs +5 -0
- package/example/types/tokenlist-5.mjs +5 -0
- package/example/types/typeof.mjs +9 -0
- package/example/types/version-1.mjs +6 -0
- package/example/types/version-2.mjs +3 -0
- package/example/util/comparator.mjs +10 -0
- package/example/util/deadmansswitch.mjs +9 -0
- package/example/util/processing.mjs +17 -0
- package/package.json +6 -60
- package/source/{constants.js → constants.mjs} +7 -10
- package/source/constraints/{abstract.js → abstract.mjs} +8 -9
- package/source/constraints/{abstractoperator.js → abstractoperator.mjs} +11 -8
- package/source/constraints/andoperator.mjs +38 -0
- package/source/constraints/invalid.mjs +38 -0
- package/source/constraints/isarray.mjs +41 -0
- package/source/constraints/isobject.mjs +41 -0
- package/source/constraints/{namespace.js → namespace.mjs} +3 -8
- package/source/constraints/{oroperator.js → oroperator.mjs} +10 -42
- package/source/constraints/valid.mjs +38 -0
- package/source/data/{buildmap.js → buildmap.mjs} +18 -104
- package/source/data/{buildtree.js → buildtree.mjs} +11 -31
- package/source/data/datasource/{namespace.js → namespace.mjs} +1 -9
- package/source/data/datasource/restapi/namespace.mjs +8 -0
- package/source/data/datasource/restapi/{writeerror.js → writeerror.mjs} +8 -9
- package/source/data/datasource/{restapi.js → restapi.mjs} +15 -45
- package/source/data/datasource/storage/localstorage.mjs +45 -0
- package/source/data/datasource/storage/{namespace.js → namespace.mjs} +1 -9
- package/source/data/datasource/storage/sessionstorage.mjs +45 -0
- package/source/data/datasource/{storage.js → storage.mjs} +12 -35
- package/source/data/{datasource.js → datasource.mjs} +17 -45
- package/source/data/{diff.js → diff.mjs} +10 -69
- package/source/data/{extend.js → extend.mjs} +10 -28
- package/source/data/{namespace.js → namespace.mjs} +2 -8
- package/source/data/{pathfinder.js → pathfinder.mjs} +18 -77
- package/source/data/{pipe.js → pipe.mjs} +14 -46
- package/source/data/{transformer.js → transformer.mjs} +18 -43
- package/source/dom/{assembler.js → assembler.mjs} +12 -28
- package/source/dom/{attributes.js → attributes.mjs} +42 -253
- package/source/dom/{constants.js → constants.mjs} +110 -61
- package/source/dom/{customcontrol.js → customcontrol.mjs} +10 -17
- package/source/dom/{customelement.js → customelement.mjs} +28 -52
- package/source/dom/{events.js → events.mjs} +15 -64
- package/source/dom/{focusmanager.js → focusmanager.mjs} +13 -34
- package/source/dom/{locale.js → locale.mjs} +11 -26
- package/source/dom/{namespace.js → namespace.mjs} +1 -8
- package/source/dom/{ready.js → ready.mjs} +12 -30
- package/source/dom/resource/{data.js → data.mjs} +11 -31
- package/source/dom/resource/link/namespace.mjs +10 -0
- package/source/dom/resource/link/stylesheet.mjs +35 -0
- package/source/dom/resource/{link.js → link.mjs} +9 -29
- package/source/dom/resource/namespace.mjs +8 -0
- package/source/dom/resource/{script.js → script.mjs} +9 -29
- package/source/dom/{resource.js → resource.mjs} +19 -39
- package/source/dom/{resourcemanager.js → resourcemanager.mjs} +17 -35
- package/source/dom/{template.js → template.mjs} +18 -43
- package/source/dom/{theme.js → theme.mjs} +14 -36
- package/source/dom/{updater.js → updater.mjs} +34 -68
- package/source/dom/{util.js → util.mjs} +17 -66
- package/source/dom/worker/{factory.js → factory.mjs} +13 -34
- package/source/dom/worker/namespace.mjs +8 -0
- package/source/i18n/{formatter.js → formatter.mjs} +14 -45
- package/source/i18n/{locale.js → locale.mjs} +15 -30
- package/source/i18n/{namespace.js → namespace.mjs} +1 -9
- package/source/i18n/provider.mjs +40 -0
- package/source/i18n/providers/{fetch.js → fetch.mjs} +18 -43
- package/source/i18n/providers/namespace.mjs +8 -0
- package/source/i18n/{translations.js → translations.mjs} +12 -52
- package/source/logging/handler/console.mjs +50 -0
- package/source/logging/handler/namespace.mjs +6 -0
- package/source/logging/{handler.js → handler.mjs} +13 -30
- package/source/logging/logentry.mjs +51 -0
- package/source/logging/{logger.js → logger.mjs} +12 -28
- package/source/logging/{namespace.js → namespace.mjs} +1 -9
- package/source/math/{namespace.js → namespace.mjs} +1 -9
- package/source/math/{random.js → random.mjs} +8 -34
- package/source/monster.mjs +114 -0
- package/source/text/{formatter.js → formatter.mjs} +17 -33
- package/source/text/{namespace.js → namespace.mjs} +1 -9
- package/source/types/base.mjs +31 -0
- package/source/types/{basewithoptions.js → basewithoptions.mjs} +17 -46
- package/source/types/{binary.js → binary.mjs} +10 -42
- package/source/types/{dataurl.js → dataurl.mjs} +12 -46
- package/source/types/{global.js → global.mjs} +20 -12
- package/source/types/{id.js → id.mjs} +10 -27
- package/source/types/is.mjs +225 -0
- package/source/types/{mediatype.js → mediatype.mjs} +13 -29
- package/source/types/{namespace.js → namespace.mjs} +1 -8
- package/source/types/{node.js → node.mjs} +11 -28
- package/source/types/{nodelist.js → nodelist.mjs} +17 -32
- package/source/types/{noderecursiveiterator.js → noderecursiveiterator.mjs} +14 -65
- package/source/types/{observer.js → observer.mjs} +15 -42
- package/source/types/{observerlist.js → observerlist.mjs} +12 -29
- package/source/types/{proxyobserver.js → proxyobserver.mjs} +19 -62
- package/source/types/{queue.js → queue.mjs} +10 -47
- package/source/types/randomid.mjs +45 -0
- package/source/types/regex.mjs +27 -0
- package/source/types/{stack.js → stack.mjs} +8 -24
- package/source/types/{tokenlist.js → tokenlist.mjs} +20 -64
- package/source/types/typeof.mjs +37 -0
- package/source/types/{uniquequeue.js → uniquequeue.mjs} +11 -27
- package/source/types/{uuid.js → uuid.mjs} +15 -33
- package/source/types/{validate.js → validate.mjs} +38 -155
- package/source/types/{version.js → version.mjs} +19 -62
- package/source/util/{clone.js → clone.mjs} +10 -28
- package/source/util/{comparator.js → comparator.mjs} +13 -43
- package/source/util/{deadmansswitch.js → deadmansswitch.mjs} +15 -40
- package/source/util/freeze.mjs +39 -0
- package/source/util/{namespace.js → namespace.mjs} +1 -9
- package/source/util/{processing.js → processing.mjs} +13 -51
- package/source/util/{trimspaces.js → trimspaces.mjs} +14 -21
- package/test/cases/constraint/{andoperator.js → andoperator.mjs} +3 -3
- package/test/cases/constraint/{invalid.js → invalid.mjs} +1 -1
- package/test/cases/constraint/{isarray.js → isarray.mjs} +1 -1
- package/test/cases/constraint/{isobject.js → isobject.mjs} +1 -1
- package/test/cases/constraint/{oroperator.js → oroperator.mjs} +3 -3
- package/test/cases/constraint/{valid.js → valid.mjs} +1 -1
- package/test/cases/data/{buildmap.js → buildmap.mjs} +1 -1
- package/test/cases/data/{buildtree.js → buildtree.mjs} +2 -2
- package/test/cases/data/datasource/{restapi.js → restapi.mjs} +5 -5
- package/test/cases/data/datasource/storage/{localstorage.js → localstorage.mjs} +5 -5
- package/test/cases/data/datasource/storage/{sessionstorage.js → sessionstorage.mjs} +5 -5
- package/test/cases/data/{datasource.js → datasource.mjs} +1 -1
- package/test/cases/data/{diff.js → diff.mjs} +2 -2
- package/test/cases/data/{extend.js → extend.mjs} +1 -1
- package/test/cases/data/{pathfinder.js → pathfinder.mjs} +1 -1
- package/test/cases/data/{pipe.js → pipe.mjs} +19 -5
- package/test/cases/data/{transformer.js → transformer.mjs} +14 -10
- package/test/cases/dom/{assembler.js → assembler.mjs} +2 -2
- package/test/cases/dom/{attributes.js → attributes.mjs} +2 -2
- package/test/cases/dom/{customcontrol.js → customcontrol.mjs} +6 -6
- package/test/cases/dom/{customelement.js → customelement.mjs} +6 -6
- package/test/cases/dom/{events.js → events.mjs} +2 -2
- package/test/cases/dom/{focusmanager.js → focusmanager.mjs} +3 -3
- package/test/cases/dom/{locale.js → locale.mjs} +2 -2
- package/test/cases/dom/{ready.js → ready.mjs} +2 -2
- package/test/cases/dom/resource/{data.js → data.mjs} +9 -9
- package/test/cases/dom/resource/link/{stylesheet.js → stylesheet.mjs} +6 -6
- package/test/cases/dom/resource/{link.js → link.mjs} +6 -6
- package/test/cases/dom/resource/{script.js → script.mjs} +6 -6
- package/test/cases/dom/{resourcemanager.js → resourcemanager.mjs} +6 -6
- package/test/cases/dom/{template.js → template.mjs} +3 -3
- package/test/cases/dom/{theme.js → theme.mjs} +3 -3
- package/test/cases/dom/{updater.js → updater.mjs} +6 -6
- package/test/cases/dom/{util.js → util.mjs} +2 -2
- package/test/cases/dom/worker/{factory.js → factory.mjs} +4 -4
- package/test/cases/i18n/{formatter.js → formatter.mjs} +2 -2
- package/test/cases/i18n/{locale.js → locale.mjs} +1 -1
- package/test/cases/i18n/{provider.js → provider.mjs} +1 -1
- package/test/cases/i18n/providers/{fetch.js → fetch.mjs} +3 -3
- package/test/cases/i18n/{translations.js → translations.mjs} +2 -2
- package/test/cases/logging/handler/{console.js → console.mjs} +3 -3
- package/test/cases/logging/{handler.js → handler.mjs} +3 -3
- package/test/cases/logging/{logentry.js → logentry.mjs} +1 -1
- package/test/cases/logging/{logger.js → logger.mjs} +1 -1
- package/test/cases/math/random.mjs +101 -0
- package/test/cases/monster.mjs +20 -0
- package/test/cases/text/{formatter.js → formatter.mjs} +1 -1
- package/test/cases/types/{base.js → base.mjs} +1 -1
- package/test/cases/types/{basewithoptions.js → basewithoptions.mjs} +1 -1
- package/test/cases/types/{binary.js → binary.mjs} +1 -1
- package/test/cases/types/{dataurl.js → dataurl.mjs} +1 -1
- package/test/cases/types/{global.js → global.mjs} +1 -1
- package/test/cases/types/{id.js → id.mjs} +17 -6
- package/test/cases/types/{is.js → is.mjs} +20 -8
- package/test/cases/types/{mediatype.js → mediatype.mjs} +1 -1
- package/test/cases/types/{node.js → node.mjs} +3 -3
- package/test/cases/types/{nodelist.js → nodelist.mjs} +2 -2
- package/test/cases/types/{noderecursiveiterator.js → noderecursiveiterator.mjs} +3 -3
- package/test/cases/types/{observer.js → observer.mjs} +1 -1
- package/test/cases/types/{observerlist.js → observerlist.mjs} +2 -2
- package/test/cases/types/{proxyobserver.js → proxyobserver.mjs} +4 -4
- package/test/cases/types/{queue.js → queue.mjs} +1 -1
- package/test/cases/types/randomid.mjs +39 -0
- package/test/cases/types/regex.mjs +46 -0
- package/test/cases/types/{stack.js → stack.mjs} +1 -1
- package/test/cases/types/{tokenlist.js → tokenlist.mjs} +1 -1
- package/test/cases/types/{typeof.js → typeof.mjs} +3 -4
- package/test/cases/types/{uniquequeue.js → uniquequeue.mjs} +1 -1
- package/test/cases/types/{uuid.js → uuid.mjs} +30 -10
- package/test/cases/types/{validate.js → validate.mjs} +3 -4
- package/test/cases/types/{version.js → version.mjs} +1 -2
- package/test/cases/util/{clone.js → clone.mjs} +1 -1
- package/test/cases/util/{comparator.js → comparator.mjs} +1 -1
- package/test/cases/util/{deadmansswitch.js → deadmansswitch.mjs} +1 -1
- package/test/cases/util/{freeze.js → freeze.mjs} +1 -1
- package/test/cases/util/{processing.js → processing.mjs} +1 -1
- package/test/cases/util/{trimspaces.js → trimspaces.mjs} +1 -1
- package/test/util/{chai-dom.js → chai-dom.mjs} +0 -0
- package/test/util/{cleanupdom.js → cleanupdom.mjs} +0 -0
- package/test/util/{jsdom.js → jsdom.mjs} +2 -2
- package/test/util/{localstorage.js → localstorage.mjs} +0 -0
- package/test/web/import.js +77 -78
- package/test/web/prepare.js +0 -8
- package/test/web/test.html +5 -4
- package/test/web/tests.js +25731 -587
- package/dist/modules/constants.js +0 -2
- package/dist/modules/constraints/abstract.js +0 -2
- package/dist/modules/constraints/abstractoperator.js +0 -2
- package/dist/modules/constraints/andoperator.js +0 -2
- package/dist/modules/constraints/invalid.js +0 -2
- package/dist/modules/constraints/isarray.js +0 -2
- package/dist/modules/constraints/isobject.js +0 -2
- package/dist/modules/constraints/namespace.js +0 -2
- package/dist/modules/constraints/oroperator.js +0 -2
- package/dist/modules/constraints/valid.js +0 -2
- package/dist/modules/data/buildmap.js +0 -2
- package/dist/modules/data/buildtree.js +0 -2
- package/dist/modules/data/datasource/namespace.js +0 -2
- package/dist/modules/data/datasource/restapi/writeerror.js +0 -2
- package/dist/modules/data/datasource/restapi.js +0 -2
- package/dist/modules/data/datasource/storage/localstorage.js +0 -2
- package/dist/modules/data/datasource/storage/namespace.js +0 -2
- package/dist/modules/data/datasource/storage/sessionstorage.js +0 -2
- package/dist/modules/data/datasource/storage.js +0 -2
- package/dist/modules/data/datasource.js +0 -2
- package/dist/modules/data/diff.js +0 -2
- package/dist/modules/data/extend.js +0 -2
- package/dist/modules/data/namespace.js +0 -2
- package/dist/modules/data/pathfinder.js +0 -2
- package/dist/modules/data/pipe.js +0 -2
- package/dist/modules/data/transformer.js +0 -2
- package/dist/modules/dom/assembler.js +0 -2
- package/dist/modules/dom/attributes.js +0 -2
- package/dist/modules/dom/constants.js +0 -2
- package/dist/modules/dom/customcontrol.js +0 -2
- package/dist/modules/dom/customelement.js +0 -2
- package/dist/modules/dom/events.js +0 -2
- package/dist/modules/dom/focusmanager.js +0 -2
- package/dist/modules/dom/locale.js +0 -2
- package/dist/modules/dom/namespace.js +0 -2
- package/dist/modules/dom/ready.js +0 -2
- package/dist/modules/dom/resource/data.js +0 -2
- package/dist/modules/dom/resource/link/stylesheet.js +0 -2
- package/dist/modules/dom/resource/link.js +0 -2
- package/dist/modules/dom/resource/script.js +0 -2
- package/dist/modules/dom/resource.js +0 -2
- package/dist/modules/dom/resourcemanager.js +0 -2
- package/dist/modules/dom/template.js +0 -2
- package/dist/modules/dom/theme.js +0 -2
- package/dist/modules/dom/updater.js +0 -2
- package/dist/modules/dom/util.js +0 -2
- package/dist/modules/dom/worker/factory.js +0 -2
- package/dist/modules/i18n/formatter.js +0 -2
- package/dist/modules/i18n/locale.js +0 -2
- package/dist/modules/i18n/namespace.js +0 -2
- package/dist/modules/i18n/provider.js +0 -2
- package/dist/modules/i18n/providers/fetch.js +0 -2
- package/dist/modules/i18n/providers/namespace.js +0 -2
- package/dist/modules/i18n/translations.js +0 -2
- package/dist/modules/logging/handler/console.js +0 -2
- package/dist/modules/logging/handler/namespace.js +0 -2
- package/dist/modules/logging/handler.js +0 -2
- package/dist/modules/logging/logentry.js +0 -2
- package/dist/modules/logging/logger.js +0 -2
- package/dist/modules/logging/namespace.js +0 -2
- package/dist/modules/math/namespace.js +0 -2
- package/dist/modules/math/random.js +0 -2
- package/dist/modules/monster.js +0 -2
- package/dist/modules/namespace.js +0 -2
- package/dist/modules/text/formatter.js +0 -2
- package/dist/modules/text/namespace.js +0 -2
- package/dist/modules/types/base.js +0 -2
- package/dist/modules/types/basewithoptions.js +0 -2
- package/dist/modules/types/binary.js +0 -2
- package/dist/modules/types/dataurl.js +0 -2
- package/dist/modules/types/global.js +0 -2
- package/dist/modules/types/id.js +0 -2
- package/dist/modules/types/is.js +0 -2
- package/dist/modules/types/mediatype.js +0 -2
- package/dist/modules/types/namespace.js +0 -2
- package/dist/modules/types/node.js +0 -2
- package/dist/modules/types/nodelist.js +0 -2
- package/dist/modules/types/noderecursiveiterator.js +0 -2
- package/dist/modules/types/observer.js +0 -2
- package/dist/modules/types/observerlist.js +0 -2
- package/dist/modules/types/proxyobserver.js +0 -2
- package/dist/modules/types/queue.js +0 -2
- package/dist/modules/types/randomid.js +0 -2
- package/dist/modules/types/regex.js +0 -2
- package/dist/modules/types/stack.js +0 -2
- package/dist/modules/types/tokenlist.js +0 -2
- package/dist/modules/types/typeof.js +0 -2
- package/dist/modules/types/uniquequeue.js +0 -2
- package/dist/modules/types/uuid.js +0 -2
- package/dist/modules/types/validate.js +0 -2
- package/dist/modules/types/version.js +0 -2
- package/dist/modules/util/clone.js +0 -2
- package/dist/modules/util/comparator.js +0 -2
- package/dist/modules/util/deadmansswitch.js +0 -2
- package/dist/modules/util/freeze.js +0 -2
- package/dist/modules/util/namespace.js +0 -2
- package/dist/modules/util/processing.js +0 -2
- package/dist/modules/util/trimspaces.js +0 -2
- package/dist/monster.dev.js +0 -15490
- package/dist/monster.dev.js.map +0 -1
- package/dist/monster.js +0 -2
- package/source/constraints/andoperator.js +0 -71
- package/source/constraints/invalid.js +0 -63
- package/source/constraints/isarray.js +0 -71
- package/source/constraints/isobject.js +0 -72
- package/source/constraints/valid.js +0 -63
- package/source/data/datasource/storage/localstorage.js +0 -64
- package/source/data/datasource/storage/sessionstorage.js +0 -61
- package/source/dom/resource/link/stylesheet.js +0 -54
- package/source/i18n/provider.js +0 -58
- package/source/i18n/providers/namespace.js +0 -16
- package/source/logging/handler/console.js +0 -66
- package/source/logging/handler/namespace.js +0 -14
- package/source/logging/logentry.js +0 -68
- package/source/monster.js +0 -80
- package/source/namespace.js +0 -171
- package/source/types/base.js +0 -50
- package/source/types/is.js +0 -429
- package/source/types/package.d.ts +0 -1
- package/source/types/randomid.js +0 -60
- package/source/types/regex.js +0 -49
- package/source/types/typeof.js +0 -63
- package/source/util/freeze.js +0 -57
- package/test/cases/math/random.js +0 -82
- package/test/cases/monster.js +0 -23
- package/test/cases/namespace.js +0 -93
- package/test/cases/types/randomid.js +0 -24
- package/test/cases/types/regex.js +0 -32
- package/test/web/monster-dev.html +0 -22
- package/test/web/monster.html +0 -21
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
2
|
+
* Copyright schukai GmbH and contributors 2022. All Rights Reserved.
|
|
3
|
+
* Node module: @schukai/monster
|
|
4
|
+
* This file is licensed under the AGPLv3 License.
|
|
5
|
+
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
|
-
import {Base} from './base.
|
|
8
|
-
import {validateString} from "./validate.
|
|
7
|
+
|
|
8
|
+
import {Base} from './base.mjs';
|
|
9
|
+
import {validateString} from "./validate.mjs";
|
|
10
|
+
|
|
11
|
+
export {ID}
|
|
9
12
|
|
|
10
13
|
/**
|
|
11
14
|
* @private
|
|
@@ -20,26 +23,9 @@ let internalCounter = new Map;
|
|
|
20
23
|
*
|
|
21
24
|
* So the ids can also be used for navigation. you just have to take care that the order stays the same.
|
|
22
25
|
*
|
|
23
|
-
* You can call the method via the monster namespace `new Monster.Types.ID()`.
|
|
24
|
-
*
|
|
25
|
-
* ```
|
|
26
|
-
* <script type="module">
|
|
27
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
|
|
28
|
-
* console.log(new Monster.Types.ID())
|
|
29
|
-
* </script>
|
|
30
|
-
* ```
|
|
31
|
-
*
|
|
32
|
-
* Alternatively, you can also integrate this function individually.
|
|
33
|
-
*
|
|
34
|
-
* ```
|
|
35
|
-
* <script type="module">
|
|
36
|
-
* import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/id.js';
|
|
37
|
-
* console.log(new ID())
|
|
38
|
-
* </script>
|
|
39
|
-
* ```
|
|
40
|
-
*
|
|
41
26
|
* As of version 1.6.0 there is the new RandomID. this ID class is continuous from now on.
|
|
42
27
|
*
|
|
28
|
+
* @license AGPLv3
|
|
43
29
|
* @since 1.0.0
|
|
44
30
|
* @copyright schukai GmbH
|
|
45
31
|
* @memberOf Monster.Types
|
|
@@ -79,6 +65,3 @@ class ID extends Base {
|
|
|
79
65
|
}
|
|
80
66
|
|
|
81
67
|
}
|
|
82
|
-
|
|
83
|
-
assignToNamespace('Monster.Types', ID);
|
|
84
|
-
export {Monster, ID}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright schukai GmbH and contributors 2022. All Rights Reserved.
|
|
3
|
+
* Node module: @schukai/monster
|
|
4
|
+
* This file is licensed under the AGPLv3 License.
|
|
5
|
+
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export {isIterable, isPrimitive, isSymbol, isBoolean, isString, isObject, isInstance, isArray, isFunction, isInteger}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* With this function you can check if a value is iterable.
|
|
12
|
+
*
|
|
13
|
+
* This method is used in the library to have consistent names.
|
|
14
|
+
*
|
|
15
|
+
* You can call the method via the monster namespace `Monster.Types.isPrimitive()`.
|
|
16
|
+
*
|
|
17
|
+
* @externalExample ../../example/types/is-1.mjs
|
|
18
|
+
* @param {*} value
|
|
19
|
+
* @returns {boolean}
|
|
20
|
+
* @license AGPLv3
|
|
21
|
+
* @since 1.2.0
|
|
22
|
+
* @copyright schukai GmbH
|
|
23
|
+
* @memberOf Monster.Types
|
|
24
|
+
*/
|
|
25
|
+
function isIterable(value) {
|
|
26
|
+
if (value === undefined) return false;
|
|
27
|
+
if (value === null) return false;
|
|
28
|
+
return typeof value?.[Symbol.iterator] === 'function';
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)
|
|
34
|
+
*
|
|
35
|
+
* This method is used in the library to have consistent names.
|
|
36
|
+
*
|
|
37
|
+
* @externalExample ../../example/types/is-2.mjs
|
|
38
|
+
* @param {*} value
|
|
39
|
+
* @returns {boolean}
|
|
40
|
+
* @license AGPLv3
|
|
41
|
+
* @since 1.0.0
|
|
42
|
+
* @copyright schukai GmbH
|
|
43
|
+
* @memberOf Monster.Types
|
|
44
|
+
*/
|
|
45
|
+
function isPrimitive(value) {
|
|
46
|
+
var type;
|
|
47
|
+
|
|
48
|
+
if (value === undefined || value === null) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
type = typeof value;
|
|
53
|
+
|
|
54
|
+
if (type === 'string' || type === 'number' || type === 'boolean' || type === 'symbol') {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Checks whether the value passed is a symbol
|
|
63
|
+
*
|
|
64
|
+
* This method is used in the library to have consistent names.
|
|
65
|
+
*
|
|
66
|
+
* @externalExample ../../example/types/is-3.mjs
|
|
67
|
+
* @param {*} value
|
|
68
|
+
* @returns {boolean}
|
|
69
|
+
* @license AGPLv3
|
|
70
|
+
* @since 1.9.0
|
|
71
|
+
* @copyright schukai GmbH
|
|
72
|
+
* @memberOf Monster.Types
|
|
73
|
+
*/
|
|
74
|
+
function isSymbol(value) {
|
|
75
|
+
return ('symbol' === typeof value) ? true : false;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Checks whether the value passed is a boolean.
|
|
80
|
+
*
|
|
81
|
+
* This method is used in the library to have consistent names.
|
|
82
|
+
*
|
|
83
|
+
* @externalExample ../../example/types/is-4.mjs
|
|
84
|
+
* @param {*} value
|
|
85
|
+
* @returns {boolean}
|
|
86
|
+
* @license AGPLv3
|
|
87
|
+
* @since 1.0.0
|
|
88
|
+
* @copyright schukai GmbH
|
|
89
|
+
* @memberOf Monster.Types
|
|
90
|
+
*/
|
|
91
|
+
function isBoolean(value) {
|
|
92
|
+
|
|
93
|
+
if (value === true || value === false) {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Checks whether the value passed is a string
|
|
102
|
+
*
|
|
103
|
+
* This method is used in the library to have consistent names.
|
|
104
|
+
*
|
|
105
|
+
* @externalExample ../../example/types/is-5.mjs
|
|
106
|
+
* @param {*} value
|
|
107
|
+
* @returns {boolean}
|
|
108
|
+
* @license AGPLv3
|
|
109
|
+
* @since 1.0.0
|
|
110
|
+
* @copyright schukai GmbH
|
|
111
|
+
* @memberOf Monster.Types
|
|
112
|
+
*/
|
|
113
|
+
function isString(value) {
|
|
114
|
+
if (value === undefined || typeof value !== 'string') {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Checks whether the value passed is a object
|
|
122
|
+
*
|
|
123
|
+
* This method is used in the library to have consistent names.
|
|
124
|
+
*
|
|
125
|
+
* @externalExample ../../example/types/is-6.mjs
|
|
126
|
+
* @param {*} value
|
|
127
|
+
* @returns {boolean}
|
|
128
|
+
* @license AGPLv3
|
|
129
|
+
* @since 1.0.0
|
|
130
|
+
* @copyright schukai GmbH
|
|
131
|
+
* @memberOf Monster.Types
|
|
132
|
+
*/
|
|
133
|
+
function isObject(value) {
|
|
134
|
+
|
|
135
|
+
if (isArray(value)) return false;
|
|
136
|
+
if (isPrimitive(value)) return false;
|
|
137
|
+
|
|
138
|
+
if (typeof value === 'object') {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Checks whether the value passed is a object and instance of instance.
|
|
147
|
+
*
|
|
148
|
+
* This method is used in the library to have consistent names.
|
|
149
|
+
*
|
|
150
|
+
* @externalExample ../../example/types/is-7.mjs
|
|
151
|
+
* @param {*} value
|
|
152
|
+
* @param {*} instance
|
|
153
|
+
* @returns {boolean}
|
|
154
|
+
* @license AGPLv3
|
|
155
|
+
* @since 1.5.0
|
|
156
|
+
* @copyright schukai GmbH
|
|
157
|
+
* @memberOf Monster.Types
|
|
158
|
+
*/
|
|
159
|
+
function isInstance(value, instance) {
|
|
160
|
+
if (!isObject(value)) return false;
|
|
161
|
+
if (!isFunction(instance)) return false;
|
|
162
|
+
if (!instance.hasOwnProperty('prototype')) return false;
|
|
163
|
+
return (value instanceof instance) ? true : false;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Checks whether the value passed is a array
|
|
168
|
+
*
|
|
169
|
+
* This method is used in the library to have consistent names.
|
|
170
|
+
*
|
|
171
|
+
* @externalExample ../../example/types/is-8.mjs
|
|
172
|
+
* @param {*} value
|
|
173
|
+
* @returns {boolean}
|
|
174
|
+
* @license AGPLv3
|
|
175
|
+
* @since 1.0.0
|
|
176
|
+
* @copyright schukai GmbH
|
|
177
|
+
* @memberOf Monster.Types
|
|
178
|
+
* @see https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
|
|
179
|
+
*/
|
|
180
|
+
function isArray(value) {
|
|
181
|
+
return Array.isArray(value);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Checks whether the value passed is a function
|
|
186
|
+
*
|
|
187
|
+
* This method is used in the library to have consistent names.
|
|
188
|
+
*
|
|
189
|
+
* @externalExample ../../example/types/is-9.mjs
|
|
190
|
+
* @param {*} value
|
|
191
|
+
* @returns {boolean}
|
|
192
|
+
* @license AGPLv3
|
|
193
|
+
* @since 1.0.0
|
|
194
|
+
* @copyright schukai GmbH
|
|
195
|
+
* @memberOf Monster.Types
|
|
196
|
+
*/
|
|
197
|
+
function isFunction(value) {
|
|
198
|
+
if (isArray(value)) return false;
|
|
199
|
+
if (isPrimitive(value)) return false;
|
|
200
|
+
|
|
201
|
+
if (typeof value === 'function') {
|
|
202
|
+
return true;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
return false;
|
|
206
|
+
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Checks whether the value passed is an integer.
|
|
211
|
+
*
|
|
212
|
+
* This method is used in the library to have consistent names.
|
|
213
|
+
*
|
|
214
|
+
* @externalExample ../../example/types/is-10.mjs
|
|
215
|
+
* @param {*} value
|
|
216
|
+
* @returns {boolean}
|
|
217
|
+
* @license AGPLv3
|
|
218
|
+
* @since 1.4.0
|
|
219
|
+
* @copyright schukai GmbH
|
|
220
|
+
* @memberOf Monster.Types
|
|
221
|
+
*/
|
|
222
|
+
function isInteger(value) {
|
|
223
|
+
return Number.isInteger(value);
|
|
224
|
+
}
|
|
225
|
+
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
import {assignToNamespace} from "../namespace.js";
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
2
|
+
* Copyright schukai GmbH and contributors 2022. All Rights Reserved.
|
|
3
|
+
* Node module: @schukai/monster
|
|
4
|
+
* This file is licensed under the AGPLv3 License.
|
|
5
|
+
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
6
6
|
*/
|
|
7
|
-
import {Base, Monster} from "./base.js";
|
|
8
|
-
import {isString} from "./is.js";
|
|
9
|
-
import {validateArray, validateString} from "./validate.js";
|
|
10
7
|
|
|
8
|
+
import {Base} from "./base.mjs";
|
|
9
|
+
import {isString} from "./is.mjs";
|
|
10
|
+
import {validateArray, validateString} from "./validate.mjs";
|
|
11
|
+
|
|
12
|
+
export {MediaType, parseMediaType}
|
|
11
13
|
|
|
12
14
|
/**
|
|
13
15
|
* @private
|
|
@@ -26,22 +28,7 @@ const internal = Symbol('internal');
|
|
|
26
28
|
/**
|
|
27
29
|
* You can create an object via the monster namespace `new Monster.Types.MediaType()`.
|
|
28
30
|
*
|
|
29
|
-
*
|
|
30
|
-
* <script type="module">
|
|
31
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
|
|
32
|
-
* console.log(new Monster.Types.MediaType())
|
|
33
|
-
* </script>
|
|
34
|
-
* ```
|
|
35
|
-
*
|
|
36
|
-
* Alternatively, you can also integrate this function individually.
|
|
37
|
-
*
|
|
38
|
-
* ```
|
|
39
|
-
* <script type="module">
|
|
40
|
-
* import {MediaType} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/mediatype.js';
|
|
41
|
-
* console.log(new MediaType())
|
|
42
|
-
* </script>
|
|
43
|
-
* ```
|
|
44
|
-
*
|
|
31
|
+
* @license AGPLv3
|
|
45
32
|
* @since 1.8.0
|
|
46
33
|
* @copyright schukai GmbH
|
|
47
34
|
* @memberOf Monster.Types
|
|
@@ -137,7 +124,7 @@ class MediaType extends Base {
|
|
|
137
124
|
*
|
|
138
125
|
* ```
|
|
139
126
|
* <script type="module">
|
|
140
|
-
* import {Monster} from '
|
|
127
|
+
* import {Monster} from '@schukai/monster/source//monster.mjs';
|
|
141
128
|
* console.log(Monster.Types.parseMediaType())
|
|
142
129
|
* </script>
|
|
143
130
|
* ```
|
|
@@ -146,7 +133,7 @@ class MediaType extends Base {
|
|
|
146
133
|
*
|
|
147
134
|
* ```
|
|
148
135
|
* <script type="module">
|
|
149
|
-
* import {parseMediaType} from '
|
|
136
|
+
* import {parseMediaType} from '@schukai/monster/source/types/dataurl.mjs';
|
|
150
137
|
* console.log(parseMediaType())
|
|
151
138
|
* </script>
|
|
152
139
|
* ```
|
|
@@ -193,6 +180,7 @@ function parseMediaType(mediatype) {
|
|
|
193
180
|
|
|
194
181
|
/**
|
|
195
182
|
* @private
|
|
183
|
+
* @license AGPLv3
|
|
196
184
|
* @since 1.18.0
|
|
197
185
|
* @param {String} parameter
|
|
198
186
|
* @return {Monster.Types.Parameter[]|undefined}
|
|
@@ -230,7 +218,3 @@ function parseParameter(parameter) {
|
|
|
230
218
|
return result;
|
|
231
219
|
|
|
232
220
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
assignToNamespace('Monster.Types', parseMediaType, MediaType);
|
|
236
|
-
export {Monster, parseMediaType, MediaType};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
2
|
+
* Copyright schukai GmbH and contributors 2022. All Rights Reserved.
|
|
3
|
+
* Node module: @schukai/monster
|
|
4
|
+
* This file is licensed under the AGPLv3 License.
|
|
5
|
+
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
5
6
|
*/
|
|
6
7
|
|
|
8
|
+
import {Base} from './base.mjs';
|
|
9
|
+
import {isPrimitive} from "./is.mjs";
|
|
10
|
+
import {NodeList} from './nodelist.mjs';
|
|
11
|
+
import {validateInstance} from './validate.mjs';
|
|
7
12
|
|
|
8
|
-
|
|
9
|
-
import {Base} from './base.js';
|
|
10
|
-
import {isPrimitive} from "./is.js";
|
|
11
|
-
import {NodeList} from './nodelist.js';
|
|
12
|
-
import {validateInstance} from './validate.js';
|
|
13
|
+
export {Node}
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* @private
|
|
@@ -27,22 +28,7 @@ const treeStructureSymbol = Symbol('treeStructure');
|
|
|
27
28
|
/**
|
|
28
29
|
* You can create the instance via the monster namespace `new Monster.Types.Node()`.
|
|
29
30
|
*
|
|
30
|
-
*
|
|
31
|
-
* <script type="module">
|
|
32
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
|
|
33
|
-
* new Monster.Types.Node()
|
|
34
|
-
* </script>
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* Alternatively, you can also integrate this function individually.
|
|
38
|
-
*
|
|
39
|
-
* ```
|
|
40
|
-
* <script type="module">
|
|
41
|
-
* import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/node.js';
|
|
42
|
-
* new Node()
|
|
43
|
-
* </script>
|
|
44
|
-
* ```
|
|
45
|
-
*
|
|
31
|
+
* @license AGPLv3
|
|
46
32
|
* @since 1.26.0
|
|
47
33
|
* @copyright schukai GmbH
|
|
48
34
|
* @memberOf Monster.Types
|
|
@@ -164,7 +150,7 @@ class Node extends Base {
|
|
|
164
150
|
let label = this[internalValueSymbol];
|
|
165
151
|
if (!isPrimitive(label)) label = JSON.stringify(this[internalValueSymbol])
|
|
166
152
|
|
|
167
|
-
parts.push(
|
|
153
|
+
parts.push(label);
|
|
168
154
|
}
|
|
169
155
|
|
|
170
156
|
if (!this.hasChildNodes()) {
|
|
@@ -205,6 +191,3 @@ function setChildLevelAndParent(node, operand) {
|
|
|
205
191
|
});
|
|
206
192
|
return this;
|
|
207
193
|
}
|
|
208
|
-
|
|
209
|
-
assignToNamespace('Monster.Types', Node);
|
|
210
|
-
export {Monster, Node}
|
|
@@ -1,32 +1,20 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
2
|
+
* Copyright schukai GmbH and contributors 2022. All Rights Reserved.
|
|
3
|
+
* Node module: @schukai/monster
|
|
4
|
+
* This file is licensed under the AGPLv3 License.
|
|
5
|
+
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
|
-
import {isArray, isInstance} from "./is.
|
|
8
|
-
import {Node} from "./node.
|
|
9
|
-
import {validateInstance} from "./validate.
|
|
7
|
+
|
|
8
|
+
import {isArray, isInstance} from "./is.mjs";
|
|
9
|
+
import {Node} from "./node.mjs";
|
|
10
|
+
import {validateInstance} from "./validate.mjs";
|
|
11
|
+
|
|
12
|
+
export {NodeList}
|
|
10
13
|
|
|
11
14
|
/**
|
|
12
15
|
* You can create the instance via the monster namespace `new Monster.Types.NodeList()`.
|
|
13
16
|
*
|
|
14
|
-
*
|
|
15
|
-
* <script type="module">
|
|
16
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
|
|
17
|
-
* new Monster.Types.NodeList()
|
|
18
|
-
* </script>
|
|
19
|
-
* ```
|
|
20
|
-
*
|
|
21
|
-
* Alternatively, you can also integrate this function individually.
|
|
22
|
-
*
|
|
23
|
-
* ```
|
|
24
|
-
* <script type="module">
|
|
25
|
-
* import {NodeList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/nodelist.js';
|
|
26
|
-
* new NodeList()
|
|
27
|
-
* </script>
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
17
|
+
* @license AGPLv3
|
|
30
18
|
* @since 1.26.0
|
|
31
19
|
* @copyright schukai GmbH
|
|
32
20
|
* @memberOf Monster.Types
|
|
@@ -43,8 +31,8 @@ class NodeList extends Set {
|
|
|
43
31
|
|
|
44
32
|
const self = this
|
|
45
33
|
|
|
46
|
-
if(values===undefined) return;
|
|
47
|
-
|
|
34
|
+
if (values === undefined) return;
|
|
35
|
+
|
|
48
36
|
if (isArray(values)) {
|
|
49
37
|
values.forEach(value => self.add(value));
|
|
50
38
|
} else if (isInstance(values, NodeList)) {
|
|
@@ -111,11 +99,11 @@ class NodeList extends Set {
|
|
|
111
99
|
*/
|
|
112
100
|
toString() {
|
|
113
101
|
let parts = [];
|
|
114
|
-
|
|
115
|
-
for(const node of this.toArray()) {
|
|
116
|
-
parts.push(node.toString())
|
|
102
|
+
|
|
103
|
+
for (const node of this.toArray()) {
|
|
104
|
+
parts.push(node.toString())
|
|
117
105
|
}
|
|
118
|
-
|
|
106
|
+
|
|
119
107
|
return parts.join("\n");
|
|
120
108
|
}
|
|
121
109
|
|
|
@@ -124,6 +112,3 @@ class NodeList extends Set {
|
|
|
124
112
|
}
|
|
125
113
|
}
|
|
126
114
|
|
|
127
|
-
|
|
128
|
-
assignToNamespace('Monster.Types', NodeList);
|
|
129
|
-
export {Monster, NodeList}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
2
|
+
* Copyright schukai GmbH and contributors 2022. All Rights Reserved.
|
|
3
|
+
* Node module: @schukai/monster
|
|
4
|
+
* This file is licensed under the AGPLv3 License.
|
|
5
|
+
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
5
6
|
*/
|
|
6
7
|
|
|
8
|
+
import {internalSymbol} from "../constants.mjs";
|
|
7
9
|
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {NodeList} from "./nodelist.js";
|
|
14
|
-
import {validateInstance} from "./validate.js";
|
|
10
|
+
import {Base} from './base.mjs';
|
|
11
|
+
import {isInstance} from "./is.mjs";
|
|
12
|
+
import {Node} from "./node.mjs";
|
|
13
|
+
import {NodeList} from "./nodelist.mjs";
|
|
14
|
+
import {validateInstance} from "./validate.mjs";
|
|
15
15
|
|
|
16
|
+
export {NodeRecursiveIterator}
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* @private
|
|
@@ -23,62 +24,14 @@ const isNodeListSymbol = Symbol('isNodeList');
|
|
|
23
24
|
/**
|
|
24
25
|
* You can create the instance via the monster namespace `new Monster.Types.NodeRecursiveIterator()`.
|
|
25
26
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
|
|
29
|
-
* new Monster.Types.NodeRecursiveIterator()
|
|
30
|
-
* </script>
|
|
31
|
-
* ```
|
|
32
|
-
*
|
|
33
|
-
* Alternatively, you can also integrate this function individually.
|
|
34
|
-
*
|
|
35
|
-
* ```
|
|
36
|
-
* <script type="module">
|
|
37
|
-
* import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/noderecursiveiterator.js';
|
|
38
|
-
* new NodeRecursiveIterator()
|
|
39
|
-
* </script>
|
|
40
|
-
* ```
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/node.js';
|
|
44
|
-
* import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/types/noderecursiveiterator.js';
|
|
45
|
-
*
|
|
46
|
-
* const node =new Node('1')
|
|
47
|
-
*
|
|
48
|
-
* // 1
|
|
49
|
-
* // 2
|
|
50
|
-
* // ├ 2.1
|
|
51
|
-
* // ├ 2.2
|
|
52
|
-
* // └ 2.3
|
|
53
|
-
* // 3
|
|
54
|
-
* // 4
|
|
55
|
-
* // ├ 4.1
|
|
56
|
-
* // └ 4.2
|
|
57
|
-
* node.appendChild(
|
|
58
|
-
* (new Node('2'))
|
|
59
|
-
* .appendChild(new Node('2.1'))
|
|
60
|
-
* .appendChild(new Node('2.2'))
|
|
61
|
-
* .appendChild(new Node('2.3')))
|
|
62
|
-
* .appendChild(new Node('3'))
|
|
63
|
-
* .appendChild(new Node('4')
|
|
64
|
-
* .appendChild(new Node('4.1'))
|
|
65
|
-
* .appendChild(new Node('4.2')));
|
|
66
|
-
*
|
|
67
|
-
* const iterator = new NodeRecursiveIterator(node);
|
|
68
|
-
*
|
|
69
|
-
* const result = [];
|
|
70
|
-
* for (const n of iterator) {
|
|
71
|
-
* result.push(n.value);
|
|
72
|
-
* }
|
|
73
|
-
*
|
|
74
|
-
* // ↦ ['1', '2', '2.1', '2.2', '2.3', '3', '4', '4.1', '4.2']
|
|
75
|
-
*
|
|
27
|
+
* @externalExample ../../example/types/noderecursiveiterator.mjs
|
|
28
|
+
* @license AGPLv3
|
|
76
29
|
* @since 1.26.0
|
|
77
30
|
* @copyright schukai GmbH
|
|
78
31
|
* @memberOf Monster.Types
|
|
79
32
|
* @summary An iterator to run recursively through a tree of nodes
|
|
80
33
|
*/
|
|
81
|
-
class NodeRecursiveIterator extends Base {
|
|
34
|
+
class NodeRecursiveIterator extends Base {
|
|
82
35
|
|
|
83
36
|
/**
|
|
84
37
|
* @param {Node} [data]
|
|
@@ -142,7 +95,3 @@ class NodeRecursiveIterator extends Base {
|
|
|
142
95
|
}
|
|
143
96
|
|
|
144
97
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
assignToNamespace('Monster.Types', NodeRecursiveIterator);
|
|
148
|
-
export {Monster, NodeRecursiveIterator}
|