@schukai/monster 1.15.5 → 1.17.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG +25 -0
- package/README.md +4 -4
- package/dist/modules/constants.js +1 -1
- package/dist/modules/constraints/abstract.js +1 -1
- package/dist/modules/constraints/abstractoperator.js +1 -1
- package/dist/modules/constraints/andoperator.js +1 -1
- package/dist/modules/constraints/invalid.js +1 -1
- package/dist/modules/constraints/isarray.js +1 -1
- package/dist/modules/constraints/isobject.js +1 -1
- package/dist/modules/constraints/namespace.js +2 -2
- package/dist/modules/constraints/oroperator.js +1 -1
- package/dist/modules/constraints/valid.js +1 -1
- package/dist/modules/data/buildmap.js +2 -2
- package/dist/modules/data/diff.js +2 -2
- package/dist/modules/data/extend.js +1 -1
- package/dist/modules/data/namespace.js +2 -2
- package/dist/modules/data/pathfinder.js +2 -2
- package/dist/modules/data/pipe.js +1 -1
- package/dist/modules/data/transformer.js +1 -1
- package/dist/modules/dom/assembler.js +1 -1
- package/dist/modules/dom/attributes.js +1 -1
- package/dist/modules/dom/constants.js +1 -1
- package/dist/modules/dom/customcontrol.js +1 -1
- package/dist/modules/dom/customelement.js +1 -1
- package/dist/modules/dom/events.js +1 -1
- package/dist/modules/dom/locale.js +1 -1
- package/dist/modules/dom/namespace.js +2 -2
- package/dist/modules/dom/template.js +1 -1
- package/dist/modules/dom/theme.js +1 -1
- package/dist/modules/dom/updater.js +1 -1
- package/dist/modules/dom/util.js +1 -1
- package/dist/modules/i18n/locale.js +1 -1
- package/dist/modules/i18n/namespace.js +2 -2
- package/dist/modules/i18n/provider.js +1 -1
- package/dist/modules/i18n/providers/fetch.js +1 -1
- package/dist/modules/i18n/providers/namespace.js +2 -2
- package/dist/modules/i18n/translations.js +1 -1
- package/dist/modules/logging/handler/console.js +2 -2
- package/dist/modules/logging/handler/namespace.js +2 -2
- package/dist/modules/logging/handler.js +1 -1
- package/dist/modules/logging/logentry.js +1 -1
- package/dist/modules/logging/logger.js +1 -1
- package/dist/modules/logging/namespace.js +2 -2
- package/dist/modules/math/namespace.js +2 -2
- package/dist/modules/math/random.js +1 -1
- package/dist/modules/monster.js +1 -1
- package/dist/modules/namespace.js +1 -1
- package/dist/modules/text/formatter.js +1 -1
- package/dist/modules/text/namespace.js +2 -2
- package/dist/modules/types/base.js +1 -1
- package/dist/modules/types/basewithoptions.js +1 -1
- package/dist/modules/types/global.js +1 -1
- package/dist/modules/types/id.js +1 -1
- package/dist/modules/types/is.js +1 -1
- package/dist/modules/types/namespace.js +2 -2
- package/dist/modules/types/observer.js +1 -1
- package/dist/modules/types/observerlist.js +1 -1
- package/dist/modules/types/proxyobserver.js +1 -1
- package/dist/modules/types/queue.js +1 -1
- package/dist/modules/types/randomid.js +1 -1
- package/dist/modules/types/stack.js +1 -1
- package/dist/modules/types/tokenlist.js +1 -1
- package/dist/modules/types/typeof.js +1 -1
- package/dist/modules/types/uniquequeue.js +1 -1
- package/dist/modules/types/validate.js +1 -1
- package/dist/modules/types/version.js +2 -2
- package/dist/modules/util/clone.js +1 -1
- package/dist/modules/util/comparator.js +1 -1
- package/dist/modules/util/freeze.js +1 -1
- package/dist/modules/util/namespace.js +2 -2
- package/dist/monster.dev.js +1293 -943
- package/dist/monster.dev.js.map +1 -1
- package/dist/monster.js +2 -2
- package/package.json +1 -1
- package/source/constraints/abstract.js +1 -1
- package/source/constraints/abstractoperator.js +1 -1
- package/source/constraints/andoperator.js +6 -6
- package/source/constraints/invalid.js +4 -4
- package/source/constraints/isarray.js +4 -4
- package/source/constraints/isobject.js +4 -4
- package/source/constraints/namespace.js +3 -2
- package/source/constraints/oroperator.js +6 -6
- package/source/constraints/valid.js +4 -4
- package/source/data/buildmap.js +245 -12
- package/source/data/diff.js +7 -6
- package/source/data/extend.js +3 -3
- package/source/data/namespace.js +3 -2
- package/source/data/pathfinder.js +15 -11
- package/source/data/pipe.js +4 -4
- package/source/data/transformer.js +4 -4
- package/source/dom/assembler.js +4 -4
- package/source/dom/attributes.js +36 -46
- package/source/dom/constants.js +16 -14
- package/source/dom/customcontrol.js +12 -8
- package/source/dom/customelement.js +24 -11
- package/source/dom/events.js +6 -6
- package/source/dom/locale.js +5 -4
- package/source/dom/namespace.js +3 -2
- package/source/dom/template.js +6 -6
- package/source/dom/theme.js +5 -4
- package/source/dom/updater.js +11 -5
- package/source/dom/util.js +9 -9
- package/source/i18n/locale.js +27 -15
- package/source/i18n/namespace.js +3 -2
- package/source/i18n/provider.js +3 -3
- package/source/i18n/providers/fetch.js +22 -6
- package/source/i18n/providers/namespace.js +3 -2
- package/source/i18n/translations.js +3 -3
- package/source/logging/handler/console.js +34 -10
- package/source/logging/handler/namespace.js +3 -2
- package/source/logging/handler.js +4 -4
- package/source/logging/logentry.js +5 -5
- package/source/logging/logger.js +13 -13
- package/source/logging/namespace.js +3 -2
- package/source/math/namespace.js +3 -2
- package/source/math/random.js +3 -3
- package/source/namespace.js +1 -1
- package/source/text/formatter.js +3 -3
- package/source/text/namespace.js +3 -2
- package/source/types/base.js +3 -3
- package/source/types/basewithoptions.js +3 -3
- package/source/types/global.js +7 -7
- package/source/types/id.js +3 -3
- package/source/types/is.js +30 -30
- package/source/types/namespace.js +3 -2
- package/source/types/observer.js +4 -4
- package/source/types/observerlist.js +3 -3
- package/source/types/proxyobserver.js +6 -6
- package/source/types/queue.js +4 -4
- package/source/types/randomid.js +3 -3
- package/source/types/stack.js +3 -3
- package/source/types/tokenlist.js +3 -3
- package/source/types/typeof.js +4 -4
- package/source/types/uniquequeue.js +3 -3
- package/source/types/validate.js +34 -34
- package/source/types/version.js +7 -7
- package/source/util/clone.js +3 -3
- package/source/util/comparator.js +37 -7
- package/source/util/freeze.js +4 -4
- package/source/util/namespace.js +3 -2
- package/test/cases/data/buildmap.js +242 -16
- package/test/cases/data/diff.js +36 -3
- package/test/cases/data/pathfinder.js +298 -196
- package/test/cases/logging/handler/console.js +20 -0
- package/test/cases/monster.js +1 -1
- package/test/web/import.js +1 -0
- package/test/web/monster-dev.html +3 -3
- package/test/web/monster.html +2 -2
- package/test/web/test.html +2 -2
- package/test/web/tests.js +3 -3
package/source/types/validate.js
CHANGED
@@ -25,7 +25,7 @@ import {
|
|
25
25
|
*
|
26
26
|
* ```
|
27
27
|
* <script type="module">
|
28
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
28
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
29
29
|
* console.log(Monster.Types.validateIterable('2')) // ↦ TypeError
|
30
30
|
* console.log(Monster.Types.validateIterable([])) // ↦ value
|
31
31
|
* </script>
|
@@ -35,7 +35,7 @@ import {
|
|
35
35
|
*
|
36
36
|
* ```
|
37
37
|
* <script type="module">
|
38
|
-
* import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
38
|
+
* import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
39
39
|
* console.log(validateIterable('2')) // ↦ TypeError
|
40
40
|
* console.log(validateIterable([])) // ↦ value
|
41
41
|
* </script>
|
@@ -45,11 +45,11 @@ import {
|
|
45
45
|
* @return {*}
|
46
46
|
* @since 1.2.0
|
47
47
|
* @copyright schukai GmbH
|
48
|
-
* @memberOf Monster
|
48
|
+
* @memberOf Monster.Types
|
49
49
|
* @throws {TypeError} value is not a primitive
|
50
50
|
* @see {@link isPrimitive}
|
51
|
-
* @see {@link Monster
|
52
|
-
* @see {@link Monster
|
51
|
+
* @see {@link Monster.Types.isPrimitive}
|
52
|
+
* @see {@link Monster.Types#isPrimitive}
|
53
53
|
*/
|
54
54
|
function validateIterable(value) {
|
55
55
|
if (!isIterable(value)) {
|
@@ -65,7 +65,7 @@ function validateIterable(value) {
|
|
65
65
|
*
|
66
66
|
* ```
|
67
67
|
* <script type="module">
|
68
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
68
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
69
69
|
* console.log(Monster.Types.validatePrimitive('2')) // ↦ value
|
70
70
|
* console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError
|
71
71
|
* </script>
|
@@ -75,7 +75,7 @@ function validateIterable(value) {
|
|
75
75
|
*
|
76
76
|
* ```
|
77
77
|
* <script type="module">
|
78
|
-
* import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
78
|
+
* import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
79
79
|
* console.log(validatePrimitive('2')) // ↦ value
|
80
80
|
* console.log(validatePrimitive([])) // ↦ TypeError
|
81
81
|
* </script>
|
@@ -85,11 +85,11 @@ function validateIterable(value) {
|
|
85
85
|
* @return {*}
|
86
86
|
* @since 1.0.0
|
87
87
|
* @copyright schukai GmbH
|
88
|
-
* @memberOf Monster
|
88
|
+
* @memberOf Monster.Types
|
89
89
|
* @throws {TypeError} value is not a primitive
|
90
90
|
* @see {@link isPrimitive}
|
91
|
-
* @see {@link Monster
|
92
|
-
* @see {@link Monster
|
91
|
+
* @see {@link Monster.Types.isPrimitive}
|
92
|
+
* @see {@link Monster.Types#isPrimitive}
|
93
93
|
*/
|
94
94
|
function validatePrimitive(value) {
|
95
95
|
if (!isPrimitive(value)) {
|
@@ -105,7 +105,7 @@ function validatePrimitive(value) {
|
|
105
105
|
*
|
106
106
|
* ```
|
107
107
|
* <script type="module">
|
108
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
108
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
109
109
|
* console.log(Monster.Types.validateBoolean(true)) // ↦ value
|
110
110
|
* console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError
|
111
111
|
* console.log(Monster.Types.validateBoolean([])) // ↦ TypeError
|
@@ -116,7 +116,7 @@ function validatePrimitive(value) {
|
|
116
116
|
*
|
117
117
|
* ```
|
118
118
|
* <script type="module">
|
119
|
-
* import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
119
|
+
* import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
120
120
|
* console.log(validateBoolean(false)) // ↦ value
|
121
121
|
* console.log(validateBoolean('2')) // ↦ TypeError
|
122
122
|
* console.log(validateBoolean([])) // ↦ TypeError
|
@@ -127,7 +127,7 @@ function validatePrimitive(value) {
|
|
127
127
|
* @return {*}
|
128
128
|
* @since 1.0.0
|
129
129
|
* @copyright schukai GmbH
|
130
|
-
* @memberOf Monster
|
130
|
+
* @memberOf Monster.Types
|
131
131
|
|
132
132
|
* @throws {TypeError} value is not primitive
|
133
133
|
*/
|
@@ -145,7 +145,7 @@ function validateBoolean(value) {
|
|
145
145
|
*
|
146
146
|
* ```
|
147
147
|
* <script type="module">
|
148
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
148
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
149
149
|
* console.log(Monster.Types.validateString('2')) // ↦ value
|
150
150
|
* console.log(Monster.Types.validateString([])) // ↦ TypeError
|
151
151
|
* </script>
|
@@ -155,7 +155,7 @@ function validateBoolean(value) {
|
|
155
155
|
*
|
156
156
|
* ```
|
157
157
|
* <script type="module">
|
158
|
-
* import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
158
|
+
* import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
159
159
|
* console.log(validateString('2')) // ↦ value
|
160
160
|
* console.log(validateString([])) // ↦ TypeError
|
161
161
|
* </script>
|
@@ -165,7 +165,7 @@ function validateBoolean(value) {
|
|
165
165
|
* @return {*}
|
166
166
|
* @since 1.0.0
|
167
167
|
* @copyright schukai GmbH
|
168
|
-
* @memberOf Monster
|
168
|
+
* @memberOf Monster.Types
|
169
169
|
* @throws {TypeError} value is not a string
|
170
170
|
*/
|
171
171
|
function validateString(value) {
|
@@ -183,7 +183,7 @@ function validateString(value) {
|
|
183
183
|
*
|
184
184
|
* ```
|
185
185
|
* <script type="module">
|
186
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
186
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
187
187
|
* console.log(Monster.Types.validateObject({})) // ↦ value
|
188
188
|
* console.log(Monster.Types.validateObject('2')) // ↦ TypeError
|
189
189
|
* console.log(Monster.Types.validateObject([])) // ↦ TypeError
|
@@ -194,7 +194,7 @@ function validateString(value) {
|
|
194
194
|
*
|
195
195
|
* ```
|
196
196
|
* <script type="module">
|
197
|
-
* import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
197
|
+
* import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
198
198
|
* console.log(validateObject({})) // ↦ value
|
199
199
|
* console.log(validateObject('2')) // ↦ TypeError
|
200
200
|
* console.log(validateObject([])) // ↦ TypeError
|
@@ -205,7 +205,7 @@ function validateString(value) {
|
|
205
205
|
* @return {*}
|
206
206
|
* @since 1.0.0
|
207
207
|
* @copyright schukai GmbH
|
208
|
-
* @memberOf Monster
|
208
|
+
* @memberOf Monster.Types
|
209
209
|
* @throws {TypeError} value is not a object
|
210
210
|
*/
|
211
211
|
function validateObject(value) {
|
@@ -222,7 +222,7 @@ function validateObject(value) {
|
|
222
222
|
*
|
223
223
|
* ```
|
224
224
|
* <script type="module">
|
225
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
225
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
226
226
|
* console.log(Monster.Types.validateInstance({}, Object)) // ↦ value
|
227
227
|
* console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError
|
228
228
|
* console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError
|
@@ -233,7 +233,7 @@ function validateObject(value) {
|
|
233
233
|
*
|
234
234
|
* ```
|
235
235
|
* <script type="module">
|
236
|
-
* import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
236
|
+
* import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
237
237
|
* console.log(validateInstance({}, Object)) // ↦ value
|
238
238
|
* console.log(validateInstance('2', Object)) // ↦ TypeError
|
239
239
|
* console.log(validateInstance([], Object)) // ↦ TypeError
|
@@ -244,7 +244,7 @@ function validateObject(value) {
|
|
244
244
|
* @return {*}
|
245
245
|
* @since 1.5.0
|
246
246
|
* @copyright schukai GmbH
|
247
|
-
* @memberOf Monster
|
247
|
+
* @memberOf Monster.Types
|
248
248
|
* @throws {TypeError} value is not an instance of
|
249
249
|
*/
|
250
250
|
function validateInstance(value, instance) {
|
@@ -270,7 +270,7 @@ function validateInstance(value, instance) {
|
|
270
270
|
*
|
271
271
|
* ```
|
272
272
|
* <script type="module">
|
273
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
273
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
274
274
|
* console.log(Monster.Types.validateArray('2')) // ↦ TypeError
|
275
275
|
* console.log(Monster.Types.validateArray([])) // ↦ value
|
276
276
|
* </script>
|
@@ -280,7 +280,7 @@ function validateInstance(value, instance) {
|
|
280
280
|
*
|
281
281
|
* ```
|
282
282
|
* <script type="module">
|
283
|
-
* import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
283
|
+
* import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
284
284
|
* console.log(validateArray('2')) // ↦ TypeError
|
285
285
|
* console.log(validateArray([])) // ↦ value
|
286
286
|
* </script>
|
@@ -290,7 +290,7 @@ function validateInstance(value, instance) {
|
|
290
290
|
* @return {*}
|
291
291
|
* @since 1.0.0
|
292
292
|
* @copyright schukai GmbH
|
293
|
-
* @memberOf Monster
|
293
|
+
* @memberOf Monster.Types
|
294
294
|
* @throws {TypeError} value is not an array
|
295
295
|
*/
|
296
296
|
function validateArray(value) {
|
@@ -307,7 +307,7 @@ function validateArray(value) {
|
|
307
307
|
*
|
308
308
|
* ```
|
309
309
|
* <script type="module">
|
310
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
310
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
311
311
|
* console.log(Monster.Types.validateSymbol('2')) // ↦ TypeError
|
312
312
|
* console.log(Monster.Types.validateSymbol([])) // ↦ value
|
313
313
|
* </script>
|
@@ -317,7 +317,7 @@ function validateArray(value) {
|
|
317
317
|
*
|
318
318
|
* ```
|
319
319
|
* <script type="module">
|
320
|
-
* import {validateSymbol} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
320
|
+
* import {validateSymbol} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
321
321
|
* console.log(validateSymbol('2')) // ↦ TypeError
|
322
322
|
* console.log(validateSymbol()) // ↦ value
|
323
323
|
* </script>
|
@@ -327,7 +327,7 @@ function validateArray(value) {
|
|
327
327
|
* @return {*}
|
328
328
|
* @since 1.9.0
|
329
329
|
* @copyright schukai GmbH
|
330
|
-
* @memberOf Monster
|
330
|
+
* @memberOf Monster.Types
|
331
331
|
* @throws {TypeError} value is not an symbol
|
332
332
|
*/
|
333
333
|
function validateSymbol(value) {
|
@@ -344,7 +344,7 @@ function validateSymbol(value) {
|
|
344
344
|
*
|
345
345
|
* ```
|
346
346
|
* <script type="module">
|
347
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
347
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
348
348
|
* console.log(Monster.Types.validateFunction(()=>{})) // ↦ value
|
349
349
|
* console.log(Monster.Types.validateFunction('2')) // ↦ TypeError
|
350
350
|
* console.log(Monster.Types.validateFunction([])) // ↦ TypeError
|
@@ -355,7 +355,7 @@ function validateSymbol(value) {
|
|
355
355
|
*
|
356
356
|
* ```
|
357
357
|
* <script type="module">
|
358
|
-
* import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
358
|
+
* import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
359
359
|
* console.log(validateFunction(()=>{})) // ↦ value
|
360
360
|
* console.log(validateFunction('2')) // ↦ TypeError
|
361
361
|
* console.log(validateFunction([])) // ↦ TypeError
|
@@ -366,7 +366,7 @@ function validateSymbol(value) {
|
|
366
366
|
* @return {*}
|
367
367
|
* @since 1.0.0
|
368
368
|
* @copyright schukai GmbH
|
369
|
-
* @memberOf Monster
|
369
|
+
* @memberOf Monster.Types
|
370
370
|
* @throws {TypeError} value is not a function
|
371
371
|
*/
|
372
372
|
function validateFunction(value) {
|
@@ -383,7 +383,7 @@ function validateFunction(value) {
|
|
383
383
|
*
|
384
384
|
* ```
|
385
385
|
* <script type="module">
|
386
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
386
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
387
387
|
* console.log(Monster.Types.validateInteger(true)) // ↦ TypeError
|
388
388
|
* console.log(Monster.Types.validateInteger('2')) // ↦ TypeError
|
389
389
|
* console.log(Monster.Types.validateInteger(2)) // ↦ value
|
@@ -394,7 +394,7 @@ function validateFunction(value) {
|
|
394
394
|
*
|
395
395
|
* ```
|
396
396
|
* <script type="module">
|
397
|
-
* import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
397
|
+
* import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/validate.js';
|
398
398
|
* console.log(validateInteger(true)) // ↦ TypeError
|
399
399
|
* console.log(validateInteger('2')) // ↦ TypeError
|
400
400
|
* console.log(validateInteger(2)) // ↦ value
|
@@ -405,7 +405,7 @@ function validateFunction(value) {
|
|
405
405
|
* @return {*}
|
406
406
|
* @since 1.4.0
|
407
407
|
* @copyright schukai GmbH
|
408
|
-
* @memberOf Monster
|
408
|
+
* @memberOf Monster.Types
|
409
409
|
* @throws {TypeError} value is not an integer
|
410
410
|
*/
|
411
411
|
function validateInteger(value) {
|
package/source/types/version.js
CHANGED
@@ -10,7 +10,7 @@ import {Base} from './base.js';
|
|
10
10
|
*
|
11
11
|
* ```
|
12
12
|
* <script type="module">
|
13
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
13
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/version.js';
|
14
14
|
* console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3
|
15
15
|
* console.log(new Monster.Types.Version('1')) // ↦ 1.0.0
|
16
16
|
* </script>
|
@@ -20,7 +20,7 @@ import {Base} from './base.js';
|
|
20
20
|
*
|
21
21
|
* ```
|
22
22
|
* <script type="module">
|
23
|
-
* import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
23
|
+
* import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/version.js';
|
24
24
|
* console.log(new Version('1.2.3')) // ↦ 1.2.3
|
25
25
|
* console.log(new Version('1')) // ↦ 1.0.0
|
26
26
|
* </script>
|
@@ -28,7 +28,7 @@ import {Base} from './base.js';
|
|
28
28
|
*
|
29
29
|
* @example
|
30
30
|
*
|
31
|
-
* import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
31
|
+
* import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/version.js';
|
32
32
|
*
|
33
33
|
* new Version('1.0.0') // ↦ 1.0.0
|
34
34
|
* new Version(1) // ↦ 1.0.0
|
@@ -38,7 +38,7 @@ import {Base} from './base.js';
|
|
38
38
|
* @since 1.0.0
|
39
39
|
* @author schukai GmbH
|
40
40
|
* @copyright schukai GmbH
|
41
|
-
* @memberOf Monster
|
41
|
+
* @memberOf Monster.Types
|
42
42
|
*/
|
43
43
|
class Version extends Base {
|
44
44
|
|
@@ -150,7 +150,7 @@ let monsterVersion;
|
|
150
150
|
*
|
151
151
|
* ```
|
152
152
|
* <script type="module">
|
153
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
153
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/version.js';
|
154
154
|
* console.log(Monster.getVersion())
|
155
155
|
* </script>
|
156
156
|
* ```
|
@@ -159,7 +159,7 @@ let monsterVersion;
|
|
159
159
|
*
|
160
160
|
* ```
|
161
161
|
* <script type="module">
|
162
|
-
* import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
162
|
+
* import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/types/version.js';
|
163
163
|
* console.log(getVersion())
|
164
164
|
* </script>
|
165
165
|
* ```
|
@@ -175,7 +175,7 @@ function getVersion() {
|
|
175
175
|
return monsterVersion;
|
176
176
|
}
|
177
177
|
/**#@+ dont touch, replaced by make with package.json version */
|
178
|
-
monsterVersion = new Version('1.
|
178
|
+
monsterVersion = new Version('1.17.1')
|
179
179
|
/**#@-*/
|
180
180
|
|
181
181
|
return monsterVersion;
|
package/source/util/clone.js
CHANGED
@@ -22,7 +22,7 @@ import {isArray, isFunction, isObject, isPrimitive} from '../types/is.js';
|
|
22
22
|
*
|
23
23
|
* ```
|
24
24
|
* <script type="module">
|
25
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
25
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/util/clone.js';
|
26
26
|
* console.log(Monster.Util.clone({}))
|
27
27
|
* </script>
|
28
28
|
* ```
|
@@ -31,7 +31,7 @@ import {isArray, isFunction, isObject, isPrimitive} from '../types/is.js';
|
|
31
31
|
*
|
32
32
|
* ```
|
33
33
|
* <script type="module">
|
34
|
-
* import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
34
|
+
* import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/util/clone.js';
|
35
35
|
* console.log(clone({}))
|
36
36
|
* </script>
|
37
37
|
* ```
|
@@ -40,7 +40,7 @@ import {isArray, isFunction, isObject, isPrimitive} from '../types/is.js';
|
|
40
40
|
* @returns {*}
|
41
41
|
*
|
42
42
|
* @since 1.0.0
|
43
|
-
* @memberOf Monster
|
43
|
+
* @memberOf Monster.Util
|
44
44
|
* @copyright schukai GmbH
|
45
45
|
* @throws {Error} unable to clone obj! its type isn't supported.
|
46
46
|
*/
|
@@ -12,7 +12,7 @@ import {isFunction} from '../types/is.js';
|
|
12
12
|
*
|
13
13
|
* ```
|
14
14
|
* <script type="module">
|
15
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
15
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/util/comparator.js';
|
16
16
|
* console.log(new Monster.Util.Comparator())
|
17
17
|
* </script>
|
18
18
|
* ```
|
@@ -21,7 +21,7 @@ import {isFunction} from '../types/is.js';
|
|
21
21
|
*
|
22
22
|
* ```
|
23
23
|
* <script type="module">
|
24
|
-
* import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
24
|
+
* import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/util/comparator.js';
|
25
25
|
* console.log(new Comparator())
|
26
26
|
* </script>
|
27
27
|
* ```
|
@@ -46,7 +46,7 @@ import {isFunction} from '../types/is.js';
|
|
46
46
|
*
|
47
47
|
* @example
|
48
48
|
*
|
49
|
-
* import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
49
|
+
* import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/util/comparator.js';
|
50
50
|
*
|
51
51
|
* console.log(new Comparator().lessThanOrEqual(2, 5))
|
52
52
|
* // ↦ true
|
@@ -58,16 +58,16 @@ import {isFunction} from '../types/is.js';
|
|
58
58
|
* // ↦ false
|
59
59
|
*
|
60
60
|
* @since 1.3.0
|
61
|
-
* @memberOf Monster
|
61
|
+
* @memberOf Monster.Util
|
62
62
|
*/
|
63
63
|
class Comparator extends Base {
|
64
64
|
|
65
65
|
/**
|
66
66
|
* create new comparator
|
67
67
|
*
|
68
|
-
* @param {
|
69
|
-
* @throw {TypeError}
|
70
|
-
* @throw {TypeError}
|
68
|
+
* @param {Monster.Util~exampleCallback} [callback] Comparator callback
|
69
|
+
* @throw {TypeError} unsupported type
|
70
|
+
* @throw {TypeError} impractical comparison
|
71
71
|
*/
|
72
72
|
constructor(callback) {
|
73
73
|
super();
|
@@ -78,6 +78,13 @@ class Comparator extends Base {
|
|
78
78
|
throw new TypeError("unsupported type")
|
79
79
|
} else {
|
80
80
|
// default compare function
|
81
|
+
|
82
|
+
/**
|
83
|
+
*
|
84
|
+
* @param {*} a
|
85
|
+
* @param {*} b
|
86
|
+
* @return {integer} -1, 0 or 1
|
87
|
+
*/
|
81
88
|
this.compare = function (a, b) {
|
82
89
|
|
83
90
|
if (typeof a !== typeof b) {
|
@@ -168,5 +175,28 @@ class Comparator extends Base {
|
|
168
175
|
|
169
176
|
}
|
170
177
|
|
178
|
+
|
179
|
+
/**
|
180
|
+
* This is the description for the callback function used by the operator
|
181
|
+
*
|
182
|
+
* ```
|
183
|
+
* new Comparator(function (a, b) {
|
184
|
+
* if (a.v === b.v) return 0;
|
185
|
+
* return a.v < b.v ? -1 : 1;
|
186
|
+
* }).equal({v: 2}, {v: 2}); // ↦ true
|
187
|
+
* ```
|
188
|
+
*
|
189
|
+
* @callback Monster.Util~exampleCallback
|
190
|
+
* @param {*} a
|
191
|
+
* @param {*} b
|
192
|
+
* @return {integer} -1, 0 or 1
|
193
|
+
* @memberOf Monster.Util
|
194
|
+
* @see Monster.Util.Comparator
|
195
|
+
*/
|
196
|
+
|
197
|
+
|
198
|
+
/**
|
199
|
+
*
|
200
|
+
*/
|
171
201
|
assignToNamespace('Monster.Util', Comparator);
|
172
202
|
export {Monster, Comparator}
|
package/source/util/freeze.js
CHANGED
@@ -14,7 +14,7 @@ import {validateObject} from '../types/validate.js';
|
|
14
14
|
*
|
15
15
|
* ```
|
16
16
|
* <script type="module">
|
17
|
-
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
17
|
+
* import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/util/freeze.js';
|
18
18
|
* console.log(Monster.Util.deepFreeze({}))
|
19
19
|
* </script>
|
20
20
|
* ```
|
@@ -23,15 +23,15 @@ import {validateObject} from '../types/validate.js';
|
|
23
23
|
*
|
24
24
|
* ```
|
25
25
|
* <script type="module">
|
26
|
-
* import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.
|
26
|
+
* import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.17.1/dist/modules/util/freeze.js';
|
27
27
|
* console.log(deepFreeze({}))
|
28
28
|
* </script>
|
29
29
|
* ```
|
30
30
|
*
|
31
|
-
* @param {object}
|
31
|
+
* @param {object} object object to be freeze
|
32
32
|
* @since 1.0.0
|
33
33
|
* @returns {object}
|
34
|
-
* @memberOf Monster
|
34
|
+
* @memberOf Monster.Util
|
35
35
|
* @copyright schukai GmbH
|
36
36
|
* @throws {TypeError} value is not a object
|
37
37
|
*/
|
package/source/util/namespace.js
CHANGED
@@ -3,7 +3,8 @@
|
|
3
3
|
/**
|
4
4
|
* Namespace for utilities.
|
5
5
|
*
|
6
|
-
* @namespace Monster
|
6
|
+
* @namespace Monster.Util
|
7
|
+
* @memberOf Monster
|
7
8
|
* @author schukai GmbH
|
8
9
|
*/
|
9
10
|
|
@@ -12,4 +13,4 @@
|
|
12
13
|
* @private
|
13
14
|
* @type {string}
|
14
15
|
*/
|
15
|
-
const namespace = "Monster.Util";
|
16
|
+
export const namespace = "Monster.Util";
|