@schukai/monster 3.51.5 → 3.52.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.md +17 -0
- package/README.md +15 -12
- package/example/components/form/button.mjs +10 -0
- package/example/components/form/select.mjs +25 -0
- package/example/components/form/tree-select.mjs +27 -0
- package/example/components/host/host.mjs +0 -0
- package/example/components/notify/message.mjs +4 -0
- package/example/components/notify/notify.mjs +4 -0
- package/example/components/state/log.mjs +0 -0
- package/example/components/state/state.mjs +0 -0
- package/package.json +6 -2
- package/source/components/constants.mjs +132 -0
- package/source/components/datatable/columnbar.mjs +310 -0
- package/source/components/datatable/constants.mjs +121 -0
- package/source/components/datatable/dataset.mjs +219 -0
- package/source/components/datatable/datasource/dom.mjs +186 -0
- package/source/components/datatable/datasource/namespace.mjs +13 -0
- package/source/components/datatable/datasource/rest.mjs +400 -0
- package/source/components/datatable/datasource.mjs +102 -0
- package/source/components/datatable/datatable/header.mjs +268 -0
- package/source/components/datatable/datatable/namespace.mjs +13 -0
- package/source/components/datatable/datatable.mjs +789 -0
- package/source/components/datatable/embedded-pagination.mjs +113 -0
- package/source/components/datatable/filter/abstract-base.mjs +31 -0
- package/source/components/datatable/filter/date-range.mjs +1041 -0
- package/source/components/datatable/filter/input.mjs +175 -0
- package/source/components/datatable/filter/namespace.mjs +13 -0
- package/source/components/datatable/filter/range.mjs +671 -0
- package/source/components/datatable/filter/select.mjs +65 -0
- package/source/components/datatable/filter/settings.mjs +116 -0
- package/source/components/datatable/filter-button.mjs +98 -0
- package/source/components/datatable/filter.mjs +929 -0
- package/source/components/datatable/namespace.mjs +11 -0
- package/source/components/datatable/pagination.mjs +456 -0
- package/source/components/datatable/style/column-bar.pcss +123 -0
- package/source/components/datatable/style/dataset.pcss +13 -0
- package/source/components/datatable/style/datasource.pcss +16 -0
- package/source/components/datatable/style/datatable.pcss +239 -0
- package/source/components/datatable/style/embedded-pagination.pcss +101 -0
- package/source/components/datatable/style/filter-button.pcss +22 -0
- package/source/components/datatable/style/filter-controls-defaults.pcss +46 -0
- package/source/components/datatable/style/filter-date-range.pcss +9 -0
- package/source/components/datatable/style/filter-range.pcss +5 -0
- package/source/components/datatable/style/filter.pcss +156 -0
- package/source/components/datatable/style/pagination.pcss +59 -0
- package/source/components/datatable/style/select-filter.pcss +27 -0
- package/source/components/datatable/stylesheet/column-bar.mjs +33 -0
- package/source/components/datatable/stylesheet/dataset.mjs +33 -0
- package/source/components/datatable/stylesheet/datasource.mjs +33 -0
- package/source/components/datatable/stylesheet/datatable.mjs +33 -0
- package/source/components/datatable/stylesheet/embedded-pagination.mjs +33 -0
- package/source/components/datatable/stylesheet/filter-button.mjs +33 -0
- package/source/components/datatable/stylesheet/filter-controls-defaults.mjs +33 -0
- package/source/components/datatable/stylesheet/filter-date-range.mjs +33 -0
- package/source/components/datatable/stylesheet/filter-range.mjs +33 -0
- package/source/components/datatable/stylesheet/filter.mjs +33 -0
- package/source/components/datatable/stylesheet/namespace.mjs +13 -0
- package/source/components/datatable/stylesheet/pagination.mjs +33 -0
- package/source/components/datatable/stylesheet/select-filter.mjs +33 -0
- package/source/components/datatable/util.mjs +60 -0
- package/source/components/form/action-button.mjs +262 -0
- package/source/components/form/api-button.mjs +515 -0
- package/source/components/form/button-bar.mjs +739 -0
- package/source/components/form/button.mjs +350 -0
- package/source/components/form/confirm-button.mjs +330 -0
- package/source/components/form/constants.mjs +111 -0
- package/source/components/form/context-help.mjs +123 -0
- package/source/components/form/events.mjs +84 -0
- package/source/components/form/form.mjs +601 -0
- package/source/components/form/message-state-button.mjs +396 -0
- package/source/components/form/namespace.mjs +13 -0
- package/source/components/form/popper-button.mjs +435 -0
- package/source/components/form/popper.mjs +487 -0
- package/source/components/form/reload.mjs +360 -0
- package/source/components/form/select.mjs +2314 -0
- package/source/components/form/shadow-reload.mjs +137 -0
- package/source/components/form/state-button.mjs +182 -0
- package/source/components/form/style/action-button.pcss +41 -0
- package/source/components/form/style/api-button.pcss +0 -0
- package/source/components/form/style/button-bar.pcss +51 -0
- package/source/components/form/style/button.pcss +8 -0
- package/source/components/form/style/confirm-button.pcss +17 -0
- package/source/components/form/style/context-help.pcss +16 -0
- package/source/components/form/style/form.pcss +10 -0
- package/source/components/form/style/message-state-button.pcss +10 -0
- package/source/components/form/style/popper-button.pcss +16 -0
- package/source/components/form/style/popper.pcss +8 -0
- package/source/components/form/style/select.pcss +265 -0
- package/source/components/form/style/state-button.pcss +116 -0
- package/source/components/form/style/tabs.pcss +170 -0
- package/source/components/form/style/tree-select.pcss +81 -0
- package/source/components/form/stylesheet/action-button.mjs +33 -0
- package/source/components/form/stylesheet/api-button.mjs +33 -0
- package/source/components/form/stylesheet/button-bar.mjs +33 -0
- package/source/components/form/stylesheet/button.mjs +33 -0
- package/source/components/form/stylesheet/confirm-button.mjs +33 -0
- package/source/components/form/stylesheet/context-help.mjs +33 -0
- package/source/components/form/stylesheet/form.mjs +33 -0
- package/source/components/form/stylesheet/message-state-button.mjs +33 -0
- package/source/components/form/stylesheet/namespace.mjs +13 -0
- package/source/components/form/stylesheet/popper-button.mjs +33 -0
- package/source/components/form/stylesheet/popper.mjs +33 -0
- package/source/components/form/stylesheet/select.mjs +33 -0
- package/source/components/form/stylesheet/state-button.mjs +33 -0
- package/source/components/form/stylesheet/tabs.mjs +33 -0
- package/source/components/form/stylesheet/tree-select.mjs +33 -0
- package/source/components/form/tabs.mjs +1011 -0
- package/source/components/form/template.mjs +373 -0
- package/source/components/form/tree-select.mjs +527 -0
- package/source/components/form/types/namespace.mjs +13 -0
- package/source/components/form/types/state.mjs +93 -0
- package/source/components/form/util/fetch.mjs +133 -0
- package/source/components/form/util/floating-ui.mjs +245 -0
- package/source/components/form/util/namespace.mjs +13 -0
- package/source/components/form/util/popper.mjs +49 -0
- package/source/components/host/call-button.mjs +236 -0
- package/source/components/host/collapse.mjs +526 -0
- package/source/components/host/config-manager.mjs +304 -0
- package/source/components/host/constants.mjs +18 -0
- package/source/components/host/details.mjs +268 -0
- package/source/components/host/events.mjs +131 -0
- package/source/components/host/host.mjs +420 -0
- package/source/components/host/namespace.mjs +13 -0
- package/source/components/host/overlay.mjs +339 -0
- package/source/components/host/style/call-button.pcss +36 -0
- package/source/components/host/style/collapse.pcss +67 -0
- package/source/components/host/style/config-manager.pcss +5 -0
- package/source/components/host/style/details.pcss +68 -0
- package/source/components/host/style/host.pcss +43 -0
- package/source/components/host/style/overlay.pcss +73 -0
- package/source/components/host/style/toggle-button.pcss +36 -0
- package/source/components/host/style/viewer.pcss +13 -0
- package/source/components/host/stylesheet/call-button.mjs +33 -0
- package/source/components/host/stylesheet/collapse.mjs +33 -0
- package/source/components/host/stylesheet/config-manager.mjs +33 -0
- package/source/components/host/stylesheet/details.mjs +33 -0
- package/source/components/host/stylesheet/host.mjs +33 -0
- package/source/components/host/stylesheet/namespace.mjs +13 -0
- package/source/components/host/stylesheet/overlay.mjs +33 -0
- package/source/components/host/stylesheet/toggle-button.mjs +33 -0
- package/source/components/host/stylesheet/viewer.mjs +33 -0
- package/source/components/host/toggle-button.mjs +88 -0
- package/source/components/host/util.mjs +23 -0
- package/source/components/host/viewer.mjs +309 -0
- package/source/components/namespace.mjs +14 -0
- package/source/components/notify/constants.mjs +15 -0
- package/source/components/notify/events.mjs +15 -0
- package/source/components/notify/message.mjs +374 -0
- package/source/components/notify/namespace.mjs +15 -0
- package/source/components/notify/notify.mjs +236 -0
- package/source/components/notify/style/message.pcss +57 -0
- package/source/components/notify/style/notify.pcss +118 -0
- package/source/components/notify/stylesheet/message.mjs +33 -0
- package/source/components/notify/stylesheet/namespace.mjs +15 -0
- package/source/components/notify/stylesheet/notify.mjs +33 -0
- package/source/components/state/log/entry.mjs +126 -0
- package/source/components/state/log/namespace.mjs +13 -0
- package/source/components/state/log.mjs +275 -0
- package/source/components/state/namespace.mjs +13 -0
- package/source/components/state/state.mjs +131 -0
- package/source/components/state/style/log.pcss +111 -0
- package/source/components/state/style/state.pcss +113 -0
- package/source/components/state/stylesheet/log.mjs +33 -0
- package/source/components/state/stylesheet/state.mjs +33 -0
- package/source/components/style/badge.pcss +92 -0
- package/source/components/style/border.pcss +77 -0
- package/source/components/style/button.pcss +105 -0
- package/source/components/style/card.pcss +108 -0
- package/source/components/style/color.pcss +257 -0
- package/source/components/style/common.pcss +103 -0
- package/source/components/style/control.pcss +11 -0
- package/source/components/style/data-grid.pcss +43 -0
- package/source/components/style/display.pcss +42 -0
- package/source/components/style/floating-ui.pcss +33 -0
- package/source/components/style/form.pcss +5 -0
- package/source/components/style/host.pcss +15 -0
- package/source/components/style/link.pcss +63 -0
- package/source/components/style/mixin/badge.pcss +18 -0
- package/source/components/style/mixin/button.pcss +54 -0
- package/source/components/style/mixin/form.pcss +247 -0
- package/source/components/style/mixin/hover.pcss +8 -0
- package/source/components/style/mixin/media.pcss +107 -0
- package/source/components/style/mixin/property.pcss +288 -0
- package/source/components/style/mixin/skeleton.pcss +26 -0
- package/source/components/style/mixin/spinner.pcss +24 -0
- package/source/components/style/mixin/typography.pcss +52 -0
- package/source/components/style/normalize.pcss +14 -0
- package/source/components/style/popper.pcss +78 -0
- package/source/components/style/property.pcss +17 -0
- package/source/components/style/ripple.pcss +14 -0
- package/source/components/style/skeleton.pcss +28 -0
- package/source/components/style/space.pcss +47 -0
- package/source/components/style/spinner.pcss +6 -0
- package/source/components/style/table.pcss +46 -0
- package/source/components/style/theme.pcss +119 -0
- package/source/components/style/typography.pcss +131 -0
- package/source/components/stylesheet/badge.mjs +33 -0
- package/source/components/stylesheet/border.mjs +33 -0
- package/source/components/stylesheet/button.mjs +33 -0
- package/source/components/stylesheet/card.mjs +33 -0
- package/source/components/stylesheet/color.mjs +33 -0
- package/source/components/stylesheet/common.mjs +33 -0
- package/source/components/stylesheet/control.mjs +33 -0
- package/source/components/stylesheet/data-grid.mjs +33 -0
- package/source/components/stylesheet/display.mjs +33 -0
- package/source/components/stylesheet/floating-ui.mjs +33 -0
- package/source/components/stylesheet/form.mjs +33 -0
- package/source/components/stylesheet/host.mjs +33 -0
- package/source/components/stylesheet/link.mjs +33 -0
- package/source/components/stylesheet/namespace.mjs +13 -0
- package/source/components/stylesheet/normalize.mjs +33 -0
- package/source/components/stylesheet/popper.mjs +33 -0
- package/source/components/stylesheet/property.mjs +33 -0
- package/source/components/stylesheet/ripple.mjs +33 -0
- package/source/components/stylesheet/skeleton.mjs +33 -0
- package/source/components/stylesheet/space.mjs +33 -0
- package/source/components/stylesheet/spinner.mjs +33 -0
- package/source/components/stylesheet/table.mjs +33 -0
- package/source/components/stylesheet/theme.mjs +33 -0
- package/source/components/stylesheet/tree-menu.mjs +33 -0
- package/source/components/stylesheet/typography.mjs +33 -0
- package/source/components/tree-menu/namespace.mjs +13 -0
- package/source/components/tree-menu/style/tree-menu.pcss +107 -0
- package/source/components/tree-menu/stylesheet/namespace.mjs +13 -0
- package/source/components/tree-menu/stylesheet/tree-menu.mjs +33 -0
- package/source/components/tree-menu/tree-menu.mjs +660 -0
- package/source/constraints/abstract.mjs +17 -24
- package/source/constraints/abstractoperator.mjs +27 -22
- package/source/constraints/andoperator.mjs +20 -17
- package/source/constraints/invalid.mjs +17 -17
- package/source/constraints/isarray.mjs +20 -20
- package/source/constraints/isobject.mjs +20 -20
- package/source/constraints/oroperator.mjs +45 -45
- package/source/constraints/valid.mjs +17 -17
- package/source/data/buildmap.mjs +108 -103
- package/source/data/buildtree.mjs +59 -57
- package/source/data/datasource/dom.mjs +80 -84
- package/source/data/datasource/namespace.mjs +1 -1
- package/source/data/datasource/server/restapi/data-fetch-error.mjs +27 -25
- package/source/data/datasource/server/restapi/writeerror.mjs +34 -32
- package/source/data/datasource/server/restapi.mjs +176 -177
- package/source/data/datasource/server/webconnect.mjs +150 -156
- package/source/data/datasource/server.mjs +58 -59
- package/source/data/datasource/storage/localstorage.mjs +25 -24
- package/source/data/datasource/storage/sessionstorage.mjs +28 -25
- package/source/data/datasource/storage.mjs +74 -73
- package/source/data/datasource.mjs +176 -167
- package/source/data/diff.mjs +98 -97
- package/source/data/extend.mjs +42 -42
- package/source/data/pathfinder.mjs +301 -288
- package/source/data/pipe.mjs +36 -36
- package/source/data/transformer.mjs +742 -726
- package/source/dom/assembler.mjs +44 -44
- package/source/dom/attributes.mjs +142 -122
- package/source/dom/constants.mjs +62 -58
- package/source/dom/customcontrol.mjs +299 -299
- package/source/dom/customelement.mjs +843 -806
- package/source/dom/dimension.mjs +56 -46
- package/source/dom/events.mjs +74 -69
- package/source/dom/focusmanager.mjs +175 -175
- package/source/dom/locale.mjs +28 -28
- package/source/dom/ready.mjs +13 -13
- package/source/dom/resource/data.mjs +117 -111
- package/source/dom/resource/link/stylesheet.mjs +16 -16
- package/source/dom/resource/link.mjs +94 -96
- package/source/dom/resource/script.mjs +72 -74
- package/source/dom/resource.mjs +174 -172
- package/source/dom/resourcemanager.mjs +152 -156
- package/source/dom/slotted.mjs +78 -80
- package/source/dom/template.mjs +126 -112
- package/source/dom/theme.mjs +35 -35
- package/source/dom/updater.mjs +673 -651
- package/source/dom/util/extract-keys.mjs +34 -22
- package/source/dom/util/init-options-from-attributes.mjs +46 -38
- package/source/dom/util/namespace.mjs +13 -0
- package/source/dom/util/set-option-from-attribute.mjs +35 -29
- package/source/dom/util.mjs +112 -81
- package/source/dom/worker/factory.mjs +83 -83
- package/source/i18n/formatter.mjs +75 -73
- package/source/i18n/locale.mjs +146 -144
- package/source/i18n/provider.mjs +70 -64
- package/source/i18n/providers/embed.mjs +136 -127
- package/source/i18n/providers/fetch.mjs +84 -76
- package/source/i18n/translations.mjs +205 -195
- package/source/logging/handler/console.mjs +36 -36
- package/source/logging/handler.mjs +140 -140
- package/source/logging/logentry.mjs +25 -25
- package/source/logging/logger.mjs +177 -175
- package/source/math/random.mjs +63 -59
- package/source/monster.mjs +223 -103
- package/source/net/webconnect/message.mjs +31 -31
- package/source/net/webconnect.mjs +278 -271
- package/source/text/bracketed-key-value-hash.mjs +182 -179
- package/source/text/formatter.mjs +235 -210
- package/source/text/generate-range-comparison-expression.mjs +56 -34
- package/source/text/namespace.mjs +1 -1
- package/source/types/base.mjs +69 -61
- package/source/types/basewithoptions.mjs +46 -46
- package/source/types/binary.mjs +20 -20
- package/source/types/dataurl.mjs +96 -90
- package/source/types/global.mjs +45 -39
- package/source/types/id.mjs +25 -25
- package/source/types/internal.mjs +115 -114
- package/source/types/is.mjs +56 -40
- package/source/types/mediatype.mjs +119 -119
- package/source/types/namespace.mjs +1 -1
- package/source/types/node.mjs +160 -150
- package/source/types/nodelist.mjs +94 -96
- package/source/types/noderecursiveiterator.mjs +50 -50
- package/source/types/observablequeue.mjs +73 -73
- package/source/types/observer.mjs +104 -104
- package/source/types/observerlist.mjs +66 -66
- package/source/types/proxyobserver.mjs +210 -210
- package/source/types/queue.mjs +63 -63
- package/source/types/randomid.mjs +13 -13
- package/source/types/regex.mjs +3 -1
- package/source/types/stack.mjs +64 -64
- package/source/types/tokenlist.mjs +206 -205
- package/source/types/typeof.mjs +12 -10
- package/source/types/uniquequeue.mjs +48 -48
- package/source/types/uuid.mjs +32 -32
- package/source/types/validate.mjs +67 -67
- package/source/types/version.mjs +115 -105
- package/source/util/clone.mjs +103 -91
- package/source/util/comparator.mjs +97 -97
- package/source/util/deadmansswitch.mjs +40 -44
- package/source/util/freeze.mjs +10 -9
- package/source/util/namespace.mjs +1 -1
- package/source/util/processing.mjs +104 -105
- package/source/util/runtime.mjs +56 -44
- package/source/util/trimspaces.mjs +24 -24
- package/test/cases/components/form/button.mjs +122 -0
- package/test/cases/components/form/confirm-button.mjs +127 -0
- package/test/cases/components/form/form.mjs +317 -0
- package/test/cases/components/form/reload.mjs +188 -0
- package/test/cases/components/form/select.mjs +229 -0
- package/test/cases/components/form/state-button.mjs +130 -0
- package/test/cases/components/form/tabs.mjs +98 -0
- package/test/cases/components/form/template.mjs +189 -0
- package/test/cases/components/form/tree-select.mjs +216 -0
- package/test/cases/components/host/details.mjs +68 -0
- package/test/cases/components/host/host.mjs +70 -0
- package/test/cases/components/host/overlay.mjs +60 -0
- package/test/cases/components/host/util.mjs +79 -0
- package/test/cases/components/notify/message.mjs +39 -0
- package/test/cases/components/notify/notify.mjs +89 -0
- package/test/cases/dom/customcontrol.mjs +5 -4
- package/test/cases/math/random.mjs +0 -1
- package/test/cases/monster.mjs +1 -1
- package/test/cases/net/webconnect/message.mjs +0 -1
- package/test/cases/types/node.mjs +1 -1
- package/test/util/chai-dom.mjs +2 -2
- package/test/util/intersection-mock.mjs +69 -0
- package/test/util/jsdom.mjs +41 -25
- package/test/util/localstorage.mjs +1 -0
- package/test/util/resize-observer.mjs +29 -0
- package/test/util/websocket.mjs +4 -1
- package/test/web/import.js +16 -1
- package/test/web/test.html +28 -5
- package/test/web/tests.js +30398 -17879
|
@@ -6,29 +6,29 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
isArray,
|
|
10
|
+
isBoolean,
|
|
11
|
+
isFunction,
|
|
12
|
+
isInstance,
|
|
13
|
+
isInteger,
|
|
14
|
+
isIterable,
|
|
15
|
+
isObject,
|
|
16
|
+
isPrimitive,
|
|
17
|
+
isString,
|
|
18
|
+
isSymbol,
|
|
19
19
|
} from "./is.mjs";
|
|
20
20
|
|
|
21
21
|
export {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
validateIterable,
|
|
23
|
+
validatePrimitive,
|
|
24
|
+
validateBoolean,
|
|
25
|
+
validateString,
|
|
26
|
+
validateObject,
|
|
27
|
+
validateInstance,
|
|
28
|
+
validateArray,
|
|
29
|
+
validateSymbol,
|
|
30
|
+
validateFunction,
|
|
31
|
+
validateInteger,
|
|
32
32
|
};
|
|
33
33
|
|
|
34
34
|
/**
|
|
@@ -54,10 +54,10 @@ export {
|
|
|
54
54
|
* @see {@link Monster.Types#isPrimitive}
|
|
55
55
|
*/
|
|
56
56
|
function validateIterable(value) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
if (!isIterable(value)) {
|
|
58
|
+
throw new TypeError("value is not iterable");
|
|
59
|
+
}
|
|
60
|
+
return value;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
/**
|
|
@@ -83,10 +83,10 @@ function validateIterable(value) {
|
|
|
83
83
|
* @see {@link Monster.Types#isPrimitive}
|
|
84
84
|
*/
|
|
85
85
|
function validatePrimitive(value) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
if (!isPrimitive(value)) {
|
|
87
|
+
throw new TypeError("value is not a primitive");
|
|
88
|
+
}
|
|
89
|
+
return value;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
/**
|
|
@@ -111,10 +111,10 @@ function validatePrimitive(value) {
|
|
|
111
111
|
* @throws {TypeError} value is not primitive
|
|
112
112
|
*/
|
|
113
113
|
function validateBoolean(value) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
if (!isBoolean(value)) {
|
|
115
|
+
throw new TypeError("value is not a boolean");
|
|
116
|
+
}
|
|
117
|
+
return value;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
/**
|
|
@@ -137,10 +137,10 @@ function validateBoolean(value) {
|
|
|
137
137
|
* @throws {TypeError} value is not a string
|
|
138
138
|
*/
|
|
139
139
|
function validateString(value) {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
if (!isString(value)) {
|
|
141
|
+
throw new TypeError("value is not a string");
|
|
142
|
+
}
|
|
143
|
+
return value;
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
/**
|
|
@@ -164,10 +164,10 @@ function validateString(value) {
|
|
|
164
164
|
* @throws {TypeError} value is not a object
|
|
165
165
|
*/
|
|
166
166
|
function validateObject(value) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
167
|
+
if (!isObject(value)) {
|
|
168
|
+
throw new TypeError("value is not a object");
|
|
169
|
+
}
|
|
170
|
+
return value;
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
/**
|
|
@@ -191,19 +191,19 @@ function validateObject(value) {
|
|
|
191
191
|
* @throws {TypeError} value is not an instance of
|
|
192
192
|
*/
|
|
193
193
|
function validateInstance(value, instance) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
194
|
+
if (!isInstance(value, instance)) {
|
|
195
|
+
let n = "";
|
|
196
|
+
if (isObject(instance) || isFunction(instance)) {
|
|
197
|
+
n = instance?.["name"];
|
|
198
|
+
}
|
|
199
199
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
200
|
+
if (n) {
|
|
201
|
+
n = ` ${n}`;
|
|
202
|
+
}
|
|
203
203
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
204
|
+
throw new TypeError(`value is not an instance of${n}`);
|
|
205
|
+
}
|
|
206
|
+
return value;
|
|
207
207
|
}
|
|
208
208
|
|
|
209
209
|
/**
|
|
@@ -226,10 +226,10 @@ function validateInstance(value, instance) {
|
|
|
226
226
|
* @throws {TypeError} value is not an array
|
|
227
227
|
*/
|
|
228
228
|
function validateArray(value) {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
229
|
+
if (!isArray(value)) {
|
|
230
|
+
throw new TypeError("value is not an array");
|
|
231
|
+
}
|
|
232
|
+
return value;
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
/**
|
|
@@ -252,10 +252,10 @@ function validateArray(value) {
|
|
|
252
252
|
* @throws {TypeError} value is not an symbol
|
|
253
253
|
*/
|
|
254
254
|
function validateSymbol(value) {
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
255
|
+
if (!isSymbol(value)) {
|
|
256
|
+
throw new TypeError("value is not an symbol");
|
|
257
|
+
}
|
|
258
|
+
return value;
|
|
259
259
|
}
|
|
260
260
|
|
|
261
261
|
/**
|
|
@@ -279,10 +279,10 @@ function validateSymbol(value) {
|
|
|
279
279
|
* @throws {TypeError} value is not a function
|
|
280
280
|
*/
|
|
281
281
|
function validateFunction(value) {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
282
|
+
if (!isFunction(value)) {
|
|
283
|
+
throw new TypeError("value is not a function");
|
|
284
|
+
}
|
|
285
|
+
return value;
|
|
286
286
|
}
|
|
287
287
|
|
|
288
288
|
/**
|
|
@@ -306,8 +306,8 @@ function validateFunction(value) {
|
|
|
306
306
|
* @throws {TypeError} value is not an integer
|
|
307
307
|
*/
|
|
308
308
|
function validateInteger(value) {
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
309
|
+
if (!isInteger(value)) {
|
|
310
|
+
throw new TypeError("value is not an integer");
|
|
311
|
+
}
|
|
312
|
+
return value;
|
|
313
313
|
}
|
package/source/types/version.mjs
CHANGED
|
@@ -22,105 +22,115 @@ export { Version, getMonsterVersion };
|
|
|
22
22
|
* @summary The version object contains a sematic version number
|
|
23
23
|
*/
|
|
24
24
|
class Version extends Base {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
-
|
|
123
|
-
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @param major
|
|
28
|
+
* @param minor
|
|
29
|
+
* @param patch
|
|
30
|
+
* @throws {Error} major is not a number
|
|
31
|
+
* @throws {Error} minor is not a number
|
|
32
|
+
* @throws {Error} patch is not a number
|
|
33
|
+
*/
|
|
34
|
+
constructor(major, minor, patch) {
|
|
35
|
+
super();
|
|
36
|
+
|
|
37
|
+
if (
|
|
38
|
+
typeof major === "string" &&
|
|
39
|
+
minor === undefined &&
|
|
40
|
+
patch === undefined
|
|
41
|
+
) {
|
|
42
|
+
const parts = major.toString().split(".");
|
|
43
|
+
major = parseInt(parts[0] || 0);
|
|
44
|
+
minor = parseInt(parts[1] || 0);
|
|
45
|
+
patch = parseInt(parts[2] || 0);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (major === undefined) {
|
|
49
|
+
throw new Error("major version is undefined");
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (minor === undefined) {
|
|
53
|
+
minor = 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (patch === undefined) {
|
|
57
|
+
patch = 0;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
this.major = parseInt(major);
|
|
61
|
+
this.minor = parseInt(minor);
|
|
62
|
+
this.patch = parseInt(patch);
|
|
63
|
+
|
|
64
|
+
if (isNaN(this.major)) {
|
|
65
|
+
throw new Error("major is not a number");
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (isNaN(this.minor)) {
|
|
69
|
+
throw new Error("minor is not a number");
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (isNaN(this.patch)) {
|
|
73
|
+
throw new Error("patch is not a number");
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* This method is called by the `instanceof` operator.
|
|
79
|
+
* @returns {symbol}
|
|
80
|
+
* @since 2.1.0
|
|
81
|
+
*/
|
|
82
|
+
static get [instanceSymbol]() {
|
|
83
|
+
return Symbol.for("@schukai/monster/types/version");
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
*
|
|
88
|
+
* @returns {string}
|
|
89
|
+
*/
|
|
90
|
+
toString() {
|
|
91
|
+
return `${this.major}.${this.minor}.${this.patch}`;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* returns 0 if equal, -1 if the object version is less and 1 if greater
|
|
96
|
+
* than the compared version
|
|
97
|
+
*
|
|
98
|
+
* @param {string|Version} version Version to compare
|
|
99
|
+
* @returns {number}
|
|
100
|
+
*/
|
|
101
|
+
compareTo(version) {
|
|
102
|
+
if (version instanceof Version) {
|
|
103
|
+
version = version.toString();
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if (typeof version !== "string") {
|
|
107
|
+
throw new Error("type exception");
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (version === this.toString()) {
|
|
111
|
+
return 0;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const a = [this.major, this.minor, this.patch];
|
|
115
|
+
const b = version.split(".");
|
|
116
|
+
const len = Math.max(a.length, b.length);
|
|
117
|
+
|
|
118
|
+
for (let i = 0; i < len; i += 1) {
|
|
119
|
+
if (
|
|
120
|
+
(a[i] && !b[i] && parseInt(a[i]) > 0) ||
|
|
121
|
+
parseInt(a[i]) > parseInt(b[i])
|
|
122
|
+
) {
|
|
123
|
+
return 1;
|
|
124
|
+
} else if (
|
|
125
|
+
(b[i] && !a[i] && parseInt(b[i]) > 0) ||
|
|
126
|
+
parseInt(a[i]) < parseInt(b[i])
|
|
127
|
+
) {
|
|
128
|
+
return -1;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return 0;
|
|
133
|
+
}
|
|
124
134
|
}
|
|
125
135
|
|
|
126
136
|
let monsterVersion;
|
|
@@ -137,12 +147,12 @@ let monsterVersion;
|
|
|
137
147
|
* @memberOf Monster
|
|
138
148
|
*/
|
|
139
149
|
function getMonsterVersion() {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
150
|
+
if (monsterVersion instanceof Version) {
|
|
151
|
+
return monsterVersion;
|
|
152
|
+
}
|
|
143
153
|
|
|
144
|
-
|
|
145
|
-
|
|
154
|
+
/** don't touch, replaced by make with package.json version */
|
|
155
|
+
monsterVersion = new Version("3.52.0");
|
|
146
156
|
|
|
147
|
-
|
|
157
|
+
return monsterVersion;
|
|
148
158
|
}
|
package/source/util/clone.mjs
CHANGED
|
@@ -30,64 +30,70 @@ export { clone };
|
|
|
30
30
|
* @throws {Error} unable to clone obj! its type isn't supported.
|
|
31
31
|
*/
|
|
32
32
|
function clone(obj) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
33
|
+
// typeof null results in 'object'. https://2ality.com/2013/10/typeof-null.html
|
|
34
|
+
if (null === obj) {
|
|
35
|
+
return obj;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Handle the two simple types, null and undefined
|
|
39
|
+
if (isPrimitive(obj)) {
|
|
40
|
+
return obj;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Handle the two simple types, null and undefined
|
|
44
|
+
if (isFunction(obj)) {
|
|
45
|
+
return obj;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Handle Array
|
|
49
|
+
if (isArray(obj)) {
|
|
50
|
+
const copy = [];
|
|
51
|
+
for (var i = 0, len = obj.length; i < len; i++) {
|
|
52
|
+
copy[i] = clone(obj[i]);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return copy;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (isObject(obj)) {
|
|
59
|
+
// Handle Date
|
|
60
|
+
if (obj instanceof Date) {
|
|
61
|
+
const copy = new Date();
|
|
62
|
+
copy.setTime(obj.getTime());
|
|
63
|
+
return copy;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** Do not clone DOM nodes */
|
|
67
|
+
if (typeof Element !== "undefined" && obj instanceof Element) return obj;
|
|
68
|
+
if (typeof HTMLDocument !== "undefined" && obj instanceof HTMLDocument)
|
|
69
|
+
return obj;
|
|
70
|
+
if (
|
|
71
|
+
typeof DocumentFragment !== "undefined" &&
|
|
72
|
+
obj instanceof DocumentFragment
|
|
73
|
+
)
|
|
74
|
+
return obj;
|
|
75
|
+
|
|
76
|
+
/** Do not clone global objects */
|
|
77
|
+
if (obj === getGlobal()) return obj;
|
|
78
|
+
if (typeof globalContext !== "undefined" && obj === globalContext)
|
|
79
|
+
return obj;
|
|
80
|
+
if (typeof window !== "undefined" && obj === window) return obj;
|
|
81
|
+
if (typeof document !== "undefined" && obj === document) return obj;
|
|
82
|
+
if (typeof navigator !== "undefined" && obj === navigator) return obj;
|
|
83
|
+
if (typeof JSON !== "undefined" && obj === JSON) return obj;
|
|
84
|
+
|
|
85
|
+
// Handle Proxy-Object
|
|
86
|
+
try {
|
|
87
|
+
// try/catch because possible: TypeError: Function has non-object prototype 'undefined' in instanceof check
|
|
88
|
+
if (obj instanceof Proxy) {
|
|
89
|
+
return obj;
|
|
90
|
+
}
|
|
91
|
+
} catch (e) {}
|
|
92
|
+
|
|
93
|
+
return cloneObject(obj);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
throw new Error("unable to clone obj! its type isn't supported.");
|
|
91
97
|
}
|
|
92
98
|
|
|
93
99
|
/**
|
|
@@ -97,37 +103,43 @@ function clone(obj) {
|
|
|
97
103
|
* @private
|
|
98
104
|
*/
|
|
99
105
|
function cloneObject(obj) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
106
|
+
validateObject(obj);
|
|
107
|
+
|
|
108
|
+
const fkt = obj?.["constructor"];
|
|
109
|
+
|
|
110
|
+
/** Object has clone method */
|
|
111
|
+
if (typeOf(fkt) === "function") {
|
|
112
|
+
const prototype = fkt?.prototype;
|
|
113
|
+
if (typeof prototype === "object") {
|
|
114
|
+
if (
|
|
115
|
+
prototype.hasOwnProperty("getClone") &&
|
|
116
|
+
typeOf(obj.getClone) === "function"
|
|
117
|
+
) {
|
|
118
|
+
return obj.getClone();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
let copy = {};
|
|
124
|
+
if (
|
|
125
|
+
typeof obj.constructor === "function" &&
|
|
126
|
+
typeof obj.constructor.call === "function"
|
|
127
|
+
) {
|
|
128
|
+
copy = new obj.constructor();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
for (const key in obj) {
|
|
132
|
+
if (!obj.hasOwnProperty(key)) {
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if (isPrimitive(obj[key])) {
|
|
137
|
+
copy[key] = obj[key];
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
copy[key] = clone(obj[key]);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return copy;
|
|
133
145
|
}
|