@schukai/monster 1.31.0 → 2.0.0
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 +5 -59
- 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,16 +1,18 @@
|
|
|
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";
|
|
9
|
+
import {extend} from "../data/extend.mjs";
|
|
10
|
+
|
|
11
|
+
import {Formatter as TextFormatter} from "../text/formatter.mjs";
|
|
12
|
+
import {validateInstance, validateString} from "../types/validate.mjs";
|
|
13
|
+
import {Translations} from "./translations.mjs";
|
|
7
14
|
|
|
8
|
-
|
|
9
|
-
import {extend} from "../data/extend.js";
|
|
10
|
-
import {assignToNamespace, Monster} from '../namespace.js';
|
|
11
|
-
import {Formatter as TextFormatter} from "../text/formatter.js";
|
|
12
|
-
import {validateInstance, validateString} from "../types/validate.js";
|
|
13
|
-
import {Translations} from "./translations.js";
|
|
15
|
+
export {Formatter}
|
|
14
16
|
|
|
15
17
|
/**
|
|
16
18
|
* @private
|
|
@@ -21,37 +23,8 @@ const internalTranslationSymbol = Symbol('internalTranslation')
|
|
|
21
23
|
/**
|
|
22
24
|
* The Formatter extends the Text.Formatter with the possibility to replace the key by a translation.
|
|
23
25
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* ```
|
|
27
|
-
* <script type="module">
|
|
28
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
|
|
29
|
-
* new Monster.I18n.Formatter()
|
|
30
|
-
* </script>
|
|
31
|
-
* ```
|
|
32
|
-
*
|
|
33
|
-
* Alternatively, you can also integrate this function individually.
|
|
34
|
-
*
|
|
35
|
-
* ```
|
|
36
|
-
* <script type="module">
|
|
37
|
-
* import {Formatter} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/i18n/formatter.js';
|
|
38
|
-
* new Formatter()
|
|
39
|
-
* </script>
|
|
40
|
-
* ```
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
*
|
|
44
|
-
* import {Formatter} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/i18n/formatter.js';
|
|
45
|
-
* import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/i18n/translations.js';
|
|
46
|
-
*
|
|
47
|
-
* const translations = new Translations('en')
|
|
48
|
-
* .assignTranslations({
|
|
49
|
-
* thekey: "${animal} has eaten the ${food}!"
|
|
50
|
-
* });
|
|
51
|
-
*
|
|
52
|
-
* new Formatter({}, translations).format("thekey:animal=dog::food=cake")
|
|
53
|
-
* // ↦ dog has eaten the cake!
|
|
54
|
-
*
|
|
26
|
+
* @externalExample ../../example/i18n/formatter.mjs
|
|
27
|
+
* @license AGPLv3
|
|
55
28
|
* @since 1.26.0
|
|
56
29
|
* @copyright schukai GmbH
|
|
57
30
|
* @memberOf Monster.I18n
|
|
@@ -118,8 +91,7 @@ class Formatter extends TextFormatter {
|
|
|
118
91
|
throw new Error("the closing marker is missing")
|
|
119
92
|
}
|
|
120
93
|
}
|
|
121
|
-
|
|
122
|
-
|
|
94
|
+
|
|
123
95
|
const parts = validateString(text).split('::')
|
|
124
96
|
const translationKey = parts.shift().trim(); // key value delimiter
|
|
125
97
|
const parameter = parts.join('::').trim();
|
|
@@ -135,6 +107,3 @@ class Formatter extends TextFormatter {
|
|
|
135
107
|
|
|
136
108
|
|
|
137
109
|
}
|
|
138
|
-
|
|
139
|
-
assignToNamespace('Monster.I18n', Formatter);
|
|
140
|
-
export {Monster, Formatter}
|
|
@@ -1,12 +1,15 @@
|
|
|
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 "../types/base.
|
|
8
|
-
import {validateString} from "../types/validate.
|
|
9
|
-
import {clone} from "../util/clone.
|
|
7
|
+
|
|
8
|
+
import {Base} from "../types/base.mjs";
|
|
9
|
+
import {validateString} from "../types/validate.mjs";
|
|
10
|
+
import {clone} from "../util/clone.mjs";
|
|
11
|
+
|
|
12
|
+
export {Locale, parseLocale}
|
|
10
13
|
|
|
11
14
|
/**
|
|
12
15
|
* @memberOf Monster.I18n
|
|
@@ -21,23 +24,7 @@ const propertiesSymbol = Symbol('properties');
|
|
|
21
24
|
const localeStringSymbol = Symbol('localeString');
|
|
22
25
|
|
|
23
26
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* ```
|
|
27
|
-
* <script type="module">
|
|
28
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
|
|
29
|
-
* new Monster.I18n.Locale()
|
|
30
|
-
* </script>
|
|
31
|
-
* ```
|
|
32
|
-
*
|
|
33
|
-
* Alternatively, you can also integrate this class individually.
|
|
34
|
-
*
|
|
35
|
-
* ```
|
|
36
|
-
* <script type="module">
|
|
37
|
-
* import {Locale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/i18n/locale.js';
|
|
38
|
-
* new Locale()
|
|
39
|
-
* </script>
|
|
40
|
-
* ```
|
|
27
|
+
* The Locale class is a base class for the language classes.
|
|
41
28
|
*
|
|
42
29
|
* RFC
|
|
43
30
|
*
|
|
@@ -70,6 +57,7 @@ const localeStringSymbol = Symbol('localeString');
|
|
|
70
57
|
* in the middle)
|
|
71
58
|
* ```
|
|
72
59
|
*
|
|
60
|
+
* @license AGPLv3
|
|
73
61
|
* @since 1.13.0
|
|
74
62
|
* @copyright schukai GmbH
|
|
75
63
|
* @memberOf Monster.I18n
|
|
@@ -203,7 +191,7 @@ class Locale extends Base {
|
|
|
203
191
|
*
|
|
204
192
|
* ```
|
|
205
193
|
* <script type="module">
|
|
206
|
-
* import {Monster} from '
|
|
194
|
+
* import {Monster} from '@schukai/monster/source//monster.mjs';
|
|
207
195
|
* new Monster.I18n.createLocale()
|
|
208
196
|
* </script>
|
|
209
197
|
* ```
|
|
@@ -212,7 +200,7 @@ class Locale extends Base {
|
|
|
212
200
|
*
|
|
213
201
|
* ```
|
|
214
202
|
* <script type="module">
|
|
215
|
-
* import {createLocale} from '
|
|
203
|
+
* import {createLocale} from '@schukai/monster/source/i18n/locale.mjs';
|
|
216
204
|
* createLocale()
|
|
217
205
|
* </script>
|
|
218
206
|
* ```
|
|
@@ -267,6 +255,7 @@ class Locale extends Base {
|
|
|
267
255
|
*
|
|
268
256
|
* @param {string} locale
|
|
269
257
|
* @returns {Locale}
|
|
258
|
+
* @license AGPLv3
|
|
270
259
|
* @since 1.14.0
|
|
271
260
|
* @copyright schukai GmbH
|
|
272
261
|
* @memberOf Monster.I18n
|
|
@@ -330,7 +319,3 @@ function parseLocale(locale) {
|
|
|
330
319
|
return new Locale(language, region, script, variants, extlang);
|
|
331
320
|
|
|
332
321
|
}
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
assignToNamespace('Monster.I18n', Locale, parseLocale);
|
|
336
|
-
export {Monster, Locale, parseLocale}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* In this namespace you will find classes and methods for handling locale and localized texts.
|
|
5
3
|
*
|
|
@@ -7,10 +5,4 @@
|
|
|
7
5
|
* @memberOf Monster
|
|
8
6
|
* @author schukai GmbH
|
|
9
7
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* @private
|
|
14
|
-
* @type {string}
|
|
15
|
-
*/
|
|
16
|
-
export const namespace = "Monster.I18n";
|
|
8
|
+
const ns = {};
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
import {BaseWithOptions} from "../types/basewithoptions.mjs";
|
|
9
|
+
import {Locale} from "./locale.mjs"
|
|
10
|
+
import {Translations} from "./translations.mjs"
|
|
11
|
+
|
|
12
|
+
export {Provider}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* A provider makes a translation object available.
|
|
16
|
+
*
|
|
17
|
+
* @license AGPLv3
|
|
18
|
+
* @since 1.13.0
|
|
19
|
+
* @copyright schukai GmbH
|
|
20
|
+
* @memberOf Monster.I18n
|
|
21
|
+
* @see {@link https://datatracker.ietf.org/doc/html/rfc3066}
|
|
22
|
+
*/
|
|
23
|
+
class Provider extends BaseWithOptions {
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @param {Locale|string} locale
|
|
27
|
+
* @return {Promise}
|
|
28
|
+
*/
|
|
29
|
+
getTranslations(locale) {
|
|
30
|
+
return new Promise((resolve, reject) => {
|
|
31
|
+
try {
|
|
32
|
+
resolve(new Translations(locale));
|
|
33
|
+
} catch (e) {
|
|
34
|
+
reject(e);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
}
|
|
@@ -1,56 +1,34 @@
|
|
|
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
|
|
|
7
|
-
import {internalSymbol} from "../../constants.
|
|
8
|
-
import {extend} from "../../data/extend.
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
8
|
+
import {internalSymbol} from "../../constants.mjs";
|
|
9
|
+
import {extend} from "../../data/extend.mjs";
|
|
10
|
+
import {Formatter} from "../../text/formatter.mjs";
|
|
11
|
+
import {getGlobalFunction} from "../../types/global.mjs";
|
|
12
|
+
import {isInstance, isString} from "../../types/is.mjs";
|
|
13
|
+
import {validateObject, validateString} from "../../types/validate.mjs";
|
|
14
|
+
import {parseLocale} from "../locale.mjs";
|
|
15
|
+
import {Provider} from "../provider.mjs";
|
|
16
|
+
import {Translations} from "../translations.mjs";
|
|
17
|
+
|
|
18
|
+
export {Fetch}
|
|
17
19
|
|
|
18
20
|
/**
|
|
19
21
|
* The fetch provider retrieves a JSON file from the given URL and returns a translation object.
|
|
20
|
-
*
|
|
21
|
-
* You can create the object via the monster namespace `new Monster.I18n.Provider.Fetch()`.
|
|
22
|
-
*
|
|
23
|
-
* ```
|
|
24
|
-
* <script type="module">
|
|
25
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
|
|
26
|
-
* new Monster.I18n.Providers.Fetch()
|
|
27
|
-
* </script>
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
30
|
-
* Alternatively, you can also integrate this function individually.
|
|
31
|
-
*
|
|
32
|
-
* ```
|
|
33
|
-
* <script type="module">
|
|
34
|
-
* import {Fetch} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/i18n/providers/fetch.js';
|
|
35
|
-
* new Fetch()
|
|
36
|
-
* </script>
|
|
37
|
-
* ```
|
|
38
|
-
*
|
|
39
|
-
* @example <caption>das ist ein test</caption>
|
|
40
22
|
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* // fetch from API
|
|
44
|
-
* const translation = new Fetch('https://example.com/${language}.json').getTranslation('en-GB');
|
|
45
|
-
* // ↦ https://example.com/en.json
|
|
46
|
-
*
|
|
23
|
+
* @externalExample ../../../example/i18n/providers/fetch.mjs
|
|
24
|
+
* @license AGPLv3
|
|
47
25
|
* @since 1.13.0
|
|
48
26
|
* @copyright schukai GmbH
|
|
49
27
|
* @memberOf Monster.I18n.Providers
|
|
50
28
|
* @see {@link https://datatracker.ietf.org/doc/html/rfc3066}
|
|
51
29
|
* @tutorial i18n-locale-and-formatter
|
|
52
30
|
*/
|
|
53
|
-
class Fetch extends Provider {
|
|
31
|
+
class Fetch extends Provider {
|
|
54
32
|
|
|
55
33
|
/**
|
|
56
34
|
* As options the key `fetch` can be passed. This config object is passed to the fetch method as init.
|
|
@@ -142,6 +120,3 @@ class Fetch extends Provider {
|
|
|
142
120
|
|
|
143
121
|
}
|
|
144
122
|
|
|
145
|
-
|
|
146
|
-
assignToNamespace('Monster.I18n.Providers', Fetch);
|
|
147
|
-
export {Monster, Fetch}
|
|
@@ -1,59 +1,22 @@
|
|
|
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
|
-
import {assignToNamespace, Monster} from '../namespace.js';
|
|
7
|
-
import {Base} from "../types/base.js";
|
|
8
|
-
import {isObject, isString} from "../types/is.js";
|
|
9
|
-
import {validateInstance, validateInteger, validateObject, validateString} from "../types/validate.js";
|
|
10
|
-
import {Locale, parseLocale} from "./locale.js";
|
|
11
7
|
|
|
8
|
+
import {Base} from "../types/base.mjs";
|
|
9
|
+
import {isObject, isString} from "../types/is.mjs";
|
|
10
|
+
import {validateInstance, validateInteger, validateObject, validateString} from "../types/validate.mjs";
|
|
11
|
+
import {Locale, parseLocale} from "./locale.mjs";
|
|
12
|
+
|
|
13
|
+
export {Translations}
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
* With this class you can manage translations and access the keys.
|
|
15
17
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* ```
|
|
19
|
-
* <script type="module">
|
|
20
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
|
|
21
|
-
* new Monster.I18n.Translations()
|
|
22
|
-
* </script>
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* Alternatively, you can also integrate this function individually.
|
|
26
|
-
*
|
|
27
|
-
* ```
|
|
28
|
-
* <script type="module">
|
|
29
|
-
* import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/i18n/translations.js';
|
|
30
|
-
* new Translations()
|
|
31
|
-
* </script>
|
|
32
|
-
* ```
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
*
|
|
36
|
-
* import {Translations} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/i18n/translations.js';
|
|
37
|
-
* import {parseLocale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/i18n/locale.js';
|
|
38
|
-
*
|
|
39
|
-
* const translation = new Translations(parseLocale('en-GB'));
|
|
40
|
-
*
|
|
41
|
-
* translation.assignTranslations({
|
|
42
|
-
* text1: "click",
|
|
43
|
-
* text2: {
|
|
44
|
-
* 'one': 'click once',
|
|
45
|
-
* 'other': 'click n times'
|
|
46
|
-
* }
|
|
47
|
-
* });
|
|
48
|
-
*
|
|
49
|
-
* console.log(translation.getText('text1'));
|
|
50
|
-
* // ↦ click
|
|
51
|
-
*
|
|
52
|
-
* console.log(translation.getPluralRuleText('text2',1));
|
|
53
|
-
* // -> click once
|
|
54
|
-
* console.log(translation.getPluralRuleText('text2',2));
|
|
55
|
-
* // -> click n times
|
|
56
|
-
*
|
|
18
|
+
* @externalExample ../../example/i18n/translations.mjs
|
|
19
|
+
* @license AGPLv3
|
|
57
20
|
* @since 1.13.0
|
|
58
21
|
* @copyright schukai GmbH
|
|
59
22
|
* @memberOf Monster.I18n
|
|
@@ -214,6 +177,3 @@ class Translations extends Base {
|
|
|
214
177
|
}
|
|
215
178
|
|
|
216
179
|
}
|
|
217
|
-
|
|
218
|
-
assignToNamespace('Monster.I18n', Translations);
|
|
219
|
-
export {Monster, Translations}
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
import {Base} from '../../types/base.mjs';
|
|
9
|
+
import {getGlobalObject} from "../../types/global.mjs";
|
|
10
|
+
import {Handler} from '../handler.mjs';
|
|
11
|
+
import {LogEntry} from "../logentry.mjs";
|
|
12
|
+
|
|
13
|
+
export {ConsoleHandler}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* You can create an object of the class simply by using the namespace `new Monster.Logging.Handler.ConsoleHandler()`.
|
|
17
|
+
*
|
|
18
|
+
* @license AGPLv3
|
|
19
|
+
* @since 1.5.0
|
|
20
|
+
* @copyright schukai GmbH
|
|
21
|
+
* @memberOf Monster.Logging.Handler
|
|
22
|
+
*/
|
|
23
|
+
class ConsoleHandler extends Handler {
|
|
24
|
+
constructor() {
|
|
25
|
+
super();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* This is the central log function. this method must be
|
|
30
|
+
* overwritten by derived handlers with their own logic.
|
|
31
|
+
*
|
|
32
|
+
* ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF (ALL = 0xff;OFF = 0x00;
|
|
33
|
+
*
|
|
34
|
+
* @param {LogEntry} entry
|
|
35
|
+
* @returns {boolean}
|
|
36
|
+
*/
|
|
37
|
+
log(entry) {
|
|
38
|
+
if (super.log(entry)) {
|
|
39
|
+
let console = getGlobalObject('console');
|
|
40
|
+
if (!console) return false;
|
|
41
|
+
console.log(entry.toString());
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
|
|
@@ -1,39 +1,26 @@
|
|
|
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
|
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
8
|
+
import {Base} from '../types/base.mjs';
|
|
9
|
+
import {validateInstance, validateInteger} from "../types/validate.mjs";
|
|
10
|
+
import {LogEntry} from "./logentry.mjs";
|
|
11
|
+
import {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from "./logger.mjs";
|
|
12
|
+
|
|
13
|
+
export {Handler}
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* ```
|
|
17
|
-
* <script type="module">
|
|
18
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
|
|
19
|
-
* console.log(new Monster.Logging.Handler())
|
|
20
|
-
* </script>
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* Alternatively, you can also integrate this function individually.
|
|
24
|
-
*
|
|
25
|
-
* ```
|
|
26
|
-
* <script type="module">
|
|
27
|
-
* import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/logging/handler.js';
|
|
28
|
-
* console.log(new Handler())
|
|
29
|
-
* </script>
|
|
30
|
-
* ```
|
|
16
|
+
* The log handler is the interface between the log entries and the log listeners.
|
|
31
17
|
*
|
|
18
|
+
* @license AGPLv3
|
|
32
19
|
* @since 1.5.0
|
|
33
20
|
* @copyright schukai GmbH
|
|
34
21
|
* @memberOf Monster.Logging
|
|
35
22
|
*/
|
|
36
|
-
class Handler extends Base {
|
|
23
|
+
class Handler extends Base {
|
|
37
24
|
constructor() {
|
|
38
25
|
super();
|
|
39
26
|
|
|
@@ -178,7 +165,3 @@ class Handler extends Base {
|
|
|
178
165
|
|
|
179
166
|
|
|
180
167
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
assignToNamespace('Monster.Logging', Handler);
|
|
184
|
-
export {Monster, Handler};
|
|
@@ -0,0 +1,51 @@
|
|
|
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
|
+
import {Base} from '../types/base.mjs';
|
|
9
|
+
import {validateInteger} from '../types/validate.mjs';
|
|
10
|
+
|
|
11
|
+
export {LogEntry}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A log entry for the logger
|
|
15
|
+
*
|
|
16
|
+
* @license AGPLv3
|
|
17
|
+
* @since 1.5.0
|
|
18
|
+
* @copyright schukai GmbH
|
|
19
|
+
* @memberOf Monster.Logging
|
|
20
|
+
*/
|
|
21
|
+
class LogEntry extends Base {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @param {Integer} loglevel
|
|
25
|
+
* @param {...*} args
|
|
26
|
+
*/
|
|
27
|
+
constructor(loglevel, ...args) {
|
|
28
|
+
super();
|
|
29
|
+
validateInteger(loglevel);
|
|
30
|
+
|
|
31
|
+
this.loglevel = loglevel
|
|
32
|
+
this.arguments = args
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
*
|
|
37
|
+
* @returns {integerr}
|
|
38
|
+
*/
|
|
39
|
+
getLogLevel() {
|
|
40
|
+
return this.loglevel
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* @returns {array}
|
|
46
|
+
*/
|
|
47
|
+
getArguments() {
|
|
48
|
+
return this.arguments
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
}
|
|
@@ -1,15 +1,17 @@
|
|
|
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
|
|
|
7
|
-
import {Handler} from '../logging/handler.
|
|
8
|
-
import {LogEntry} from '../logging/logentry.
|
|
9
|
-
|
|
10
|
-
import {Base} from '../types/base.
|
|
11
|
-
import {validateInteger, validateObject, validateString} from '../types/validate.
|
|
8
|
+
import {Handler} from '../logging/handler.mjs';
|
|
9
|
+
import {LogEntry} from '../logging/logentry.mjs';
|
|
10
|
+
|
|
11
|
+
import {Base} from '../types/base.mjs';
|
|
12
|
+
import {validateInteger, validateObject, validateString} from '../types/validate.mjs';
|
|
12
13
|
|
|
14
|
+
export {Logger, ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF};
|
|
13
15
|
|
|
14
16
|
/**
|
|
15
17
|
* ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
|
|
@@ -61,24 +63,9 @@ const FATAL = 2;
|
|
|
61
63
|
const OFF = 0;
|
|
62
64
|
|
|
63
65
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* ```
|
|
67
|
-
* <script type="module">
|
|
68
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/monster.js';
|
|
69
|
-
* new Monster.Logging.Logger()
|
|
70
|
-
* </script>
|
|
71
|
-
* ```
|
|
72
|
-
*
|
|
73
|
-
* Alternatively, you can also integrate this class individually.
|
|
74
|
-
*
|
|
75
|
-
* ```
|
|
76
|
-
* <script type="module">
|
|
77
|
-
* import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.31.0/dist/modules/logging/logger.js';
|
|
78
|
-
* new Logger()
|
|
79
|
-
* </script>
|
|
80
|
-
* ```
|
|
66
|
+
* The logger is a class that takes care of logging.
|
|
81
67
|
*
|
|
68
|
+
* @license AGPLv3
|
|
82
69
|
* @since 1.5.0
|
|
83
70
|
* @copyright schukai GmbH
|
|
84
71
|
* @memberOf Monster.Logging
|
|
@@ -256,9 +243,6 @@ class Logger extends Base {
|
|
|
256
243
|
|
|
257
244
|
}
|
|
258
245
|
|
|
259
|
-
assignToNamespace('Monster.Logging', Logger);
|
|
260
|
-
export {Monster, Logger, ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF};
|
|
261
|
-
|
|
262
246
|
|
|
263
247
|
/**
|
|
264
248
|
* Log triggern
|