@schukai/monster 1.26.1 → 1.29.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.
Files changed (198) hide show
  1. package/CHANGELOG +38 -1
  2. package/README.md +4 -4
  3. package/dist/modules/constants.js +1 -1
  4. package/dist/modules/constraints/abstract.js +1 -1
  5. package/dist/modules/constraints/abstractoperator.js +1 -1
  6. package/dist/modules/constraints/andoperator.js +1 -1
  7. package/dist/modules/constraints/invalid.js +1 -1
  8. package/dist/modules/constraints/isarray.js +1 -1
  9. package/dist/modules/constraints/isobject.js +1 -1
  10. package/dist/modules/constraints/namespace.js +1 -1
  11. package/dist/modules/constraints/oroperator.js +1 -1
  12. package/dist/modules/constraints/valid.js +1 -1
  13. package/dist/modules/data/buildmap.js +2 -2
  14. package/dist/modules/data/buildtree.js +2 -2
  15. package/dist/modules/data/datasource/namespace.js +1 -1
  16. package/dist/modules/data/datasource/restapi/writeerror.js +1 -1
  17. package/dist/modules/data/datasource/restapi.js +1 -1
  18. package/dist/modules/data/datasource/storage/localstorage.js +1 -1
  19. package/dist/modules/data/datasource/storage/namespace.js +1 -1
  20. package/dist/modules/data/datasource/storage/sessionstorage.js +1 -1
  21. package/dist/modules/data/datasource/storage.js +1 -1
  22. package/dist/modules/data/datasource.js +1 -1
  23. package/dist/modules/data/diff.js +1 -1
  24. package/dist/modules/data/extend.js +1 -1
  25. package/dist/modules/data/namespace.js +1 -1
  26. package/dist/modules/data/pathfinder.js +1 -1
  27. package/dist/modules/data/pipe.js +1 -1
  28. package/dist/modules/data/transformer.js +1 -1
  29. package/dist/modules/dom/assembler.js +1 -1
  30. package/dist/modules/dom/attributes.js +2 -2
  31. package/dist/modules/dom/constants.js +2 -2
  32. package/dist/modules/dom/customcontrol.js +1 -1
  33. package/dist/modules/dom/customelement.js +2 -2
  34. package/dist/modules/dom/events.js +2 -2
  35. package/dist/modules/dom/focusmanager.js +1 -1
  36. package/dist/modules/dom/locale.js +1 -1
  37. package/dist/modules/dom/namespace.js +1 -1
  38. package/dist/modules/dom/resource/data.js +1 -1
  39. package/dist/modules/dom/resource/link/stylesheet.js +1 -1
  40. package/dist/modules/dom/resource/link.js +1 -1
  41. package/dist/modules/dom/resource/script.js +1 -1
  42. package/dist/modules/dom/resource.js +1 -1
  43. package/dist/modules/dom/resourcemanager.js +1 -1
  44. package/dist/modules/dom/template.js +2 -2
  45. package/dist/modules/dom/theme.js +1 -1
  46. package/dist/modules/dom/updater.js +2 -2
  47. package/dist/modules/dom/util.js +1 -1
  48. package/dist/modules/dom/worker/factory.js +1 -1
  49. package/dist/modules/i18n/formatter.js +1 -1
  50. package/dist/modules/i18n/locale.js +1 -1
  51. package/dist/modules/i18n/namespace.js +1 -1
  52. package/dist/modules/i18n/provider.js +1 -1
  53. package/dist/modules/i18n/providers/fetch.js +1 -1
  54. package/dist/modules/i18n/providers/namespace.js +1 -1
  55. package/dist/modules/i18n/translations.js +1 -1
  56. package/dist/modules/logging/handler/console.js +1 -1
  57. package/dist/modules/logging/handler/namespace.js +1 -1
  58. package/dist/modules/logging/handler.js +1 -1
  59. package/dist/modules/logging/logentry.js +1 -1
  60. package/dist/modules/logging/logger.js +1 -1
  61. package/dist/modules/logging/namespace.js +1 -1
  62. package/dist/modules/math/namespace.js +1 -1
  63. package/dist/modules/math/random.js +1 -1
  64. package/dist/modules/monster.js +1 -1
  65. package/dist/modules/namespace.js +1 -1
  66. package/dist/modules/text/formatter.js +1 -1
  67. package/dist/modules/text/namespace.js +1 -1
  68. package/dist/modules/types/base.js +1 -1
  69. package/dist/modules/types/basewithoptions.js +1 -1
  70. package/dist/modules/types/binary.js +1 -1
  71. package/dist/modules/types/dataurl.js +1 -1
  72. package/dist/modules/types/global.js +1 -1
  73. package/dist/modules/types/id.js +1 -1
  74. package/dist/modules/types/is.js +1 -1
  75. package/dist/modules/types/mediatype.js +1 -1
  76. package/dist/modules/types/namespace.js +1 -1
  77. package/dist/modules/types/node.js +2 -2
  78. package/dist/modules/types/nodelist.js +2 -2
  79. package/dist/modules/types/noderecursiveiterator.js +2 -2
  80. package/dist/modules/types/observer.js +1 -1
  81. package/dist/modules/types/observerlist.js +1 -1
  82. package/dist/modules/types/proxyobserver.js +1 -1
  83. package/dist/modules/types/queue.js +1 -1
  84. package/dist/modules/types/randomid.js +1 -1
  85. package/dist/modules/types/regex.js +1 -1
  86. package/dist/modules/types/stack.js +1 -1
  87. package/dist/modules/types/tokenlist.js +1 -1
  88. package/dist/modules/types/typeof.js +1 -1
  89. package/dist/modules/types/uniquequeue.js +1 -1
  90. package/dist/modules/types/uuid.js +1 -1
  91. package/dist/modules/types/validate.js +1 -1
  92. package/dist/modules/types/version.js +2 -2
  93. package/dist/modules/util/clone.js +1 -1
  94. package/dist/modules/util/comparator.js +1 -1
  95. package/dist/modules/util/deadmansswitch.js +2 -0
  96. package/dist/modules/util/freeze.js +1 -1
  97. package/dist/modules/util/namespace.js +1 -1
  98. package/dist/modules/util/processing.js +1 -1
  99. package/dist/modules/util/trimspaces.js +1 -1
  100. package/dist/monster.dev.js +906 -619
  101. package/dist/monster.dev.js.map +1 -1
  102. package/dist/monster.js +2 -2
  103. package/package.json +1 -1
  104. package/source/constraints/andoperator.js +5 -5
  105. package/source/constraints/invalid.js +3 -3
  106. package/source/constraints/isarray.js +3 -3
  107. package/source/constraints/isobject.js +3 -3
  108. package/source/constraints/oroperator.js +5 -5
  109. package/source/constraints/valid.js +3 -3
  110. package/source/data/buildmap.js +10 -11
  111. package/source/data/buildtree.js +51 -17
  112. package/source/data/datasource/restapi.js +3 -3
  113. package/source/data/datasource/storage/localstorage.js +2 -2
  114. package/source/data/datasource/storage/sessionstorage.js +2 -2
  115. package/source/data/datasource/storage.js +3 -3
  116. package/source/data/datasource.js +3 -3
  117. package/source/data/diff.js +3 -3
  118. package/source/data/extend.js +2 -2
  119. package/source/data/pathfinder.js +4 -4
  120. package/source/data/pipe.js +3 -3
  121. package/source/data/transformer.js +3 -3
  122. package/source/dom/assembler.js +2 -2
  123. package/source/dom/attributes.js +111 -28
  124. package/source/dom/constants.js +17 -1
  125. package/source/dom/customcontrol.js +1 -1
  126. package/source/dom/customelement.js +27 -13
  127. package/source/dom/events.js +68 -12
  128. package/source/dom/focusmanager.js +2 -2
  129. package/source/dom/locale.js +2 -2
  130. package/source/dom/resource/data.js +2 -2
  131. package/source/dom/resource/link/stylesheet.js +2 -2
  132. package/source/dom/resource/link.js +2 -2
  133. package/source/dom/resource/script.js +2 -2
  134. package/source/dom/resource.js +2 -2
  135. package/source/dom/resourcemanager.js +2 -2
  136. package/source/dom/template.js +41 -11
  137. package/source/dom/theme.js +3 -3
  138. package/source/dom/updater.js +183 -100
  139. package/source/dom/util.js +6 -6
  140. package/source/dom/worker/factory.js +2 -2
  141. package/source/i18n/formatter.js +4 -4
  142. package/source/i18n/locale.js +4 -4
  143. package/source/i18n/provider.js +2 -2
  144. package/source/i18n/providers/fetch.js +3 -3
  145. package/source/i18n/translations.js +4 -4
  146. package/source/logging/handler/console.js +2 -2
  147. package/source/logging/handler.js +2 -2
  148. package/source/logging/logentry.js +2 -2
  149. package/source/logging/logger.js +2 -2
  150. package/source/math/random.js +2 -2
  151. package/source/namespace.js +1 -1
  152. package/source/text/formatter.js +3 -3
  153. package/source/types/base.js +2 -2
  154. package/source/types/basewithoptions.js +2 -2
  155. package/source/types/binary.js +4 -4
  156. package/source/types/dataurl.js +4 -4
  157. package/source/types/global.js +4 -4
  158. package/source/types/id.js +2 -2
  159. package/source/types/is.js +20 -20
  160. package/source/types/mediatype.js +4 -4
  161. package/source/types/node.js +33 -2
  162. package/source/types/nodelist.js +9 -5
  163. package/source/types/noderecursiveiterator.js +29 -7
  164. package/source/types/observer.js +5 -13
  165. package/source/types/observerlist.js +2 -2
  166. package/source/types/proxyobserver.js +5 -5
  167. package/source/types/queue.js +3 -3
  168. package/source/types/randomid.js +2 -2
  169. package/source/types/regex.js +2 -2
  170. package/source/types/stack.js +2 -2
  171. package/source/types/tokenlist.js +2 -2
  172. package/source/types/typeof.js +3 -3
  173. package/source/types/uniquequeue.js +2 -2
  174. package/source/types/uuid.js +2 -2
  175. package/source/types/validate.js +20 -20
  176. package/source/types/version.js +6 -6
  177. package/source/util/clone.js +2 -2
  178. package/source/util/comparator.js +3 -3
  179. package/source/util/deadmansswitch.js +124 -0
  180. package/source/util/freeze.js +2 -2
  181. package/source/util/processing.js +3 -3
  182. package/source/util/trimspaces.js +2 -2
  183. package/test/cases/data/buildtree.js +84 -21
  184. package/test/cases/dom/attributes.js +29 -6
  185. package/test/cases/dom/events.js +66 -1
  186. package/test/cases/dom/template.js +72 -14
  187. package/test/cases/dom/updater.js +102 -75
  188. package/test/cases/math/random.js +3 -0
  189. package/test/cases/monster.js +1 -1
  190. package/test/cases/types/node.js +57 -1
  191. package/test/cases/types/nodelist.js +7 -0
  192. package/test/cases/types/noderecursiveiterator.js +21 -0
  193. package/test/cases/util/deadmansswitch.js +71 -0
  194. package/test/web/import.js +1 -0
  195. package/test/web/monster-dev.html +3 -3
  196. package/test/web/monster.html +2 -2
  197. package/test/web/test.html +3 -3
  198. package/test/web/tests.js +2 -2
@@ -7,6 +7,7 @@
7
7
 
8
8
  import {assignToNamespace, Monster} from '../namespace.js';
9
9
  import {Base} from './base.js';
10
+ import {isPrimitive} from "./is.js";
10
11
  import {NodeList} from './nodelist.js';
11
12
  import {validateInstance} from './validate.js';
12
13
 
@@ -28,7 +29,7 @@ const treeStructureSymbol = Symbol('treeStructure');
28
29
  *
29
30
  * ```
30
31
  * <script type="module">
31
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
32
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
32
33
  * new Monster.Types.Node()
33
34
  * </script>
34
35
  * ```
@@ -37,7 +38,7 @@ const treeStructureSymbol = Symbol('treeStructure');
37
38
  *
38
39
  * ```
39
40
  * <script type="module">
40
- * import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/node.js';
41
+ * import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/node.js';
41
42
  * new Node()
42
43
  * </script>
43
44
  * ```
@@ -152,6 +153,36 @@ class Node extends Base {
152
153
  return this[treeStructureSymbol].childNodes.has(validateInstance(node, Node));
153
154
  }
154
155
 
156
+ /**
157
+ * @since 1.28.0
158
+ * @return {string}
159
+ */
160
+ toString() {
161
+
162
+ let parts = [];
163
+ if (this[internalValueSymbol]) {
164
+ let label = this[internalValueSymbol];
165
+ if (!isPrimitive(label)) label = JSON.stringify(this[internalValueSymbol])
166
+
167
+ parts.push( label);
168
+ }
169
+
170
+ if (!this.hasChildNodes()) {
171
+ return parts.join("\n");
172
+ }
173
+
174
+ let count = this.childNodes.length,
175
+ counter = 0;
176
+
177
+ for (const node of this.childNodes) {
178
+ counter++;
179
+ const prefix = (count === counter ? '└' : '├').padStart(2 * node.level, ' |');
180
+ parts.push(prefix + node.toString());
181
+ }
182
+
183
+ return parts.join("\n");
184
+ }
185
+
155
186
  }
156
187
 
157
188
  /**
@@ -13,7 +13,7 @@ import {validateInstance} from "./validate.js";
13
13
  *
14
14
  * ```
15
15
  * <script type="module">
16
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
16
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
17
17
  * new Monster.Types.NodeList()
18
18
  * </script>
19
19
  * ```
@@ -22,7 +22,7 @@ import {validateInstance} from "./validate.js";
22
22
  *
23
23
  * ```
24
24
  * <script type="module">
25
- * import {NodeList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/nodelist.js';
25
+ * import {NodeList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/nodelist.js';
26
26
  * new NodeList()
27
27
  * </script>
28
28
  * ```
@@ -54,8 +54,6 @@ class NodeList extends Set {
54
54
  } else {
55
55
  throw new Error('invalid value type');
56
56
  }
57
-
58
-
59
57
  }
60
58
 
61
59
  /**
@@ -112,7 +110,13 @@ class NodeList extends Set {
112
110
  * @returns {NodeList}
113
111
  */
114
112
  toString() {
115
- return this.toArray().toString();
113
+ let parts = [];
114
+
115
+ for(const node of this.toArray()) {
116
+ parts.push(node.toString())
117
+ }
118
+
119
+ return parts.join("\n");
116
120
  }
117
121
 
118
122
  get length() {
@@ -8,16 +8,24 @@
8
8
  import {internalSymbol} from "../constants.js";
9
9
  import {assignToNamespace, Monster} from '../namespace.js';
10
10
  import {Base} from './base.js';
11
- import {validateInstance} from "./validate.js";
11
+ import {isInstance} from "./is.js";
12
12
  import {Node} from "./node.js";
13
+ import {NodeList} from "./nodelist.js";
14
+ import {validateInstance} from "./validate.js";
15
+
13
16
 
17
+ /**
18
+ * @private
19
+ * @type {symbol}
20
+ */
21
+ const isNodeListSymbol = Symbol('isNodeList');
14
22
 
15
23
  /**
16
24
  * You can create the instance via the monster namespace `new Monster.Types.NodeRecursiveIterator()`.
17
25
  *
18
26
  * ```
19
27
  * <script type="module">
20
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
28
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
21
29
  * new Monster.Types.NodeRecursiveIterator()
22
30
  * </script>
23
31
  * ```
@@ -26,14 +34,14 @@ import {Node} from "./node.js";
26
34
  *
27
35
  * ```
28
36
  * <script type="module">
29
- * import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/noderecursiveiterator.js';
37
+ * import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/noderecursiveiterator.js';
30
38
  * new NodeRecursiveIterator()
31
39
  * </script>
32
40
  * ```
33
41
  *
34
42
  * @example
35
- * import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/node.js';
36
- * import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/noderecursiveiterator.js';
43
+ * import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/node.js';
44
+ * import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/noderecursiveiterator.js';
37
45
  *
38
46
  * const node =new Node('1')
39
47
  *
@@ -77,6 +85,17 @@ class NodeRecursiveIterator extends Base {
77
85
  */
78
86
  constructor(node) {
79
87
  super();
88
+
89
+ this[isNodeListSymbol] = false;
90
+
91
+ // iterator is a nodelist
92
+ if (isInstance(node, NodeList)) {
93
+ let children = node;
94
+ node = new Node();
95
+ node.childNodes = children;
96
+ this[isNodeListSymbol] = true;
97
+ }
98
+
80
99
  this[internalSymbol] = validateInstance(node, Node);
81
100
  }
82
101
 
@@ -94,8 +113,11 @@ class NodeRecursiveIterator extends Base {
94
113
  if (this[internalSymbol] === undefined) {
95
114
  return;
96
115
  }
97
-
98
- yield this[internalSymbol];
116
+
117
+ // iterator is a nodelist and the main node is only a placeholder
118
+ if (this[isNodeListSymbol] !== true) {
119
+ yield this[internalSymbol];
120
+ }
99
121
 
100
122
  if (this[internalSymbol].hasChildNodes()) {
101
123
  let childNodes = this[internalSymbol].childNodes;
@@ -16,26 +16,21 @@ import {UniqueQueue} from './uniquequeue.js';
16
16
  * You can call the method via the monster namespace `new Monster.Types.Observer()`.
17
17
  *
18
18
  * ```
19
- * <script type="module">
20
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
21
- * console.log(new Monster.Types.Observer())
22
- * </script>
19
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
20
+ * new Monster.Types.Observer()
23
21
  * ```
24
22
  *
25
23
  * Alternatively, you can also integrate this function individually.
26
24
  *
27
25
  * ```
28
- * <script type="module">
29
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/observer.js';
30
- * console.log(new Observer())
31
- * </script>
26
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/observer.js';
27
+ * new Observer()
32
28
  * ```
33
29
  *
34
30
  * The update method is called with the subject object as this pointer. For this reason the callback should not
35
31
  * be an arrow function, because it gets the this pointer of its own context.
36
32
  *
37
33
  * ```
38
- * <script>
39
34
  * new Observer(()=>{
40
35
  * // this is not subject
41
36
  * })
@@ -43,24 +38,21 @@ import {UniqueQueue} from './uniquequeue.js';
43
38
  * new Observer(function() {
44
39
  * // this is subject
45
40
  * })
46
- * </script>
47
41
  * ```
48
42
  *
49
43
  * Additional arguments can be passed to the callback. To do this, simply specify them.
50
44
  *
51
45
  * ```
52
- * <script>
53
46
  * Observer(function(a, b, c) {
54
47
  * console.log(a, b, c); // ↦ "a", 2, true
55
48
  * }, "a", 2, true)
56
- * </script>
57
49
  * ```
58
50
  *
59
51
  * The callback function must have as many parameters as arguments are given.
60
52
  *
61
53
  * @example
62
54
  *
63
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/observer.js';
55
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/observer.js';
64
56
  *
65
57
  * const observer = new Observer(function(a, b, c) {
66
58
  * console.log(this, a, b, c); // ↦ "a", 2, true
@@ -16,7 +16,7 @@ import {validateInstance} from "./validate.js";
16
16
  *
17
17
  * ```
18
18
  * <script type="module">
19
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
19
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
20
20
  * console.log(new Monster.Types.ObserverList())
21
21
  * console.log(new Monster.Types.ObserverList())
22
22
  * </script>
@@ -26,7 +26,7 @@ import {validateInstance} from "./validate.js";
26
26
  *
27
27
  * ```
28
28
  * <script type="module">
29
- * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/observerlist.js';
29
+ * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/observerlist.js';
30
30
  * console.log(ObserverList())
31
31
  * console.log(ObserverList())
32
32
  * </script>
@@ -18,7 +18,7 @@ import {extend} from "../data/extend.js";
18
18
  *
19
19
  * ```
20
20
  * <script type="module">
21
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
21
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
22
22
  * new Monster.Types.ProxyObserver()
23
23
  * </script>
24
24
  * ```
@@ -27,7 +27,7 @@ import {extend} from "../data/extend.js";
27
27
  *
28
28
  * ```
29
29
  * <script type="module">
30
- * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/proxyobserver.js';
30
+ * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/proxyobserver.js';
31
31
  * new ProxyObserver()
32
32
  * </script>
33
33
  * ```
@@ -38,9 +38,9 @@ import {extend} from "../data/extend.js";
38
38
  *
39
39
  * @example
40
40
  *
41
- * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/proxyobserver.js';
42
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/observer.js';
43
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/is.js';
41
+ * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/proxyobserver.js';
42
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/observer.js';
43
+ * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/is.js';
44
44
  *
45
45
  * const o = new Observer(function () {
46
46
  * if (isObject(this) && this instanceof ProxyObserver) {
@@ -11,7 +11,7 @@ import {Base} from './base.js';
11
11
  *
12
12
  * ```
13
13
  * <script type="module">
14
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
14
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
15
15
  * new Monster.Types.Queue()
16
16
  * </script>
17
17
  * ```
@@ -20,14 +20,14 @@ import {Base} from './base.js';
20
20
  *
21
21
  * ```
22
22
  * <script type="module">
23
- * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/queue.js';
23
+ * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/queue.js';
24
24
  * new Queue()
25
25
  * </script>
26
26
  * ```
27
27
  *
28
28
  * @example
29
29
  *
30
- * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/queue.js';
30
+ * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/queue.js';
31
31
  *
32
32
  * const queue = new Queue;
33
33
  *
@@ -19,7 +19,7 @@ let internalCounter = 0;
19
19
  *
20
20
  * ```
21
21
  * <script type="module">
22
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
22
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
23
23
  * console.log(new Monster.Types.RandomID())
24
24
  * </script>
25
25
  * ```
@@ -28,7 +28,7 @@ let internalCounter = 0;
28
28
  *
29
29
  * ```
30
30
  * <script type="module">
31
- * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/randomid.js';
31
+ * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/randomid.js';
32
32
  * console.log(new RandomID())
33
33
  * </script>
34
34
  * ```
@@ -15,7 +15,7 @@ import {validateString} from "./validate.js";
15
15
  *
16
16
  * ```
17
17
  * <script type="module">
18
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
18
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
19
19
  * Monster.Types.escapeString()
20
20
  * </script>
21
21
  * ```
@@ -24,7 +24,7 @@ import {validateString} from "./validate.js";
24
24
  *
25
25
  * ```
26
26
  * <script type="module">
27
- * import {escapeString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/validate.js';
27
+ * import {escapeString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/validate.js';
28
28
  * escapeString()
29
29
  * </script>
30
30
  * ```
@@ -12,7 +12,7 @@ import {Base} from './base.js';
12
12
  *
13
13
  * ```
14
14
  * <script type="module">
15
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
15
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
16
16
  * console.log(new Monster.Types.Stack())
17
17
  * </script>
18
18
  * ```
@@ -21,7 +21,7 @@ import {Base} from './base.js';
21
21
  *
22
22
  * ```
23
23
  * <script type="module">
24
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/stack.js';
24
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/stack.js';
25
25
  * console.log(new Stack())
26
26
  * </script>
27
27
  * ```
@@ -18,7 +18,7 @@ import {Base} from './base.js';
18
18
  *
19
19
  * ```
20
20
  * <script type="module">
21
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
21
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
22
22
  * new Monster.Types.TokenList("myclass row")
23
23
  * </script>
24
24
  * ```
@@ -27,7 +27,7 @@ import {Base} from './base.js';
27
27
  *
28
28
  * ```
29
29
  * <script type="module">
30
- * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/tokenlist.js';
30
+ * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/tokenlist.js';
31
31
  * new TokenList("myclass row")
32
32
  * </script>
33
33
  * ```
@@ -14,7 +14,7 @@ import {assignToNamespace, Monster} from '../namespace.js';
14
14
  *
15
15
  * ```
16
16
  * <script type="module">
17
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
17
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
18
18
  * console.log(Monster.Types.typeOf())
19
19
  * </script>
20
20
  * ```
@@ -23,14 +23,14 @@ import {assignToNamespace, Monster} from '../namespace.js';
23
23
  *
24
24
  * ```
25
25
  * <script type="module">
26
- * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/typeof.js';
26
+ * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/typeof.js';
27
27
  * console.log(typeOf())
28
28
  * </script>
29
29
  * ```
30
30
  *
31
31
  * @example
32
32
  *
33
- * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/typeof.js';
33
+ * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/typeof.js';
34
34
  *
35
35
  * console.log(typeOf(undefined)); // ↦ undefined
36
36
  * console.log(typeOf("")); // ↦ string
@@ -13,7 +13,7 @@ import {validateObject} from "./validate.js";
13
13
  *
14
14
  * ```
15
15
  * <script type="module">
16
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
16
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
17
17
  * new Monster.Types.UniqueQueue()
18
18
  * </script>
19
19
  * ```
@@ -22,7 +22,7 @@ import {validateObject} from "./validate.js";
22
22
  *
23
23
  * ```
24
24
  * <script type="module">
25
- * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/uniquequeue.js';
25
+ * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/uniquequeue.js';
26
26
  * new UniqueQueue()
27
27
  * </script>
28
28
  * ```
@@ -18,7 +18,7 @@ import {getGlobalObject} from "./global.js";
18
18
  *
19
19
  * ```
20
20
  * <script type="module">
21
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/monster.js';
21
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.js';
22
22
  * new Monster.Types.UUID()
23
23
  * </script>
24
24
  * ```
@@ -27,7 +27,7 @@ import {getGlobalObject} from "./global.js";
27
27
  *
28
28
  * ```
29
29
  * <script type="module">
30
- * import {Base} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.26.1/dist/modules/types/uuid.js';
30
+ * import {Base} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/uuid.js';
31
31
  * new UUID()
32
32
  * </script>
33
33
  * ```
@@ -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.26.1/dist/monster.js';
28
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.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.26.1/dist/modules/types/validate.js';
38
+ * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/validate.js';
39
39
  * console.log(validateIterable('2')) // ↦ TypeError
40
40
  * console.log(validateIterable([])) // ↦ value
41
41
  * </script>
@@ -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.26.1/dist/monster.js';
68
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.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.26.1/dist/modules/types/validate.js';
78
+ * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/validate.js';
79
79
  * console.log(validatePrimitive('2')) // ↦ value
80
80
  * console.log(validatePrimitive([])) // ↦ TypeError
81
81
  * </script>
@@ -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.26.1/dist/monster.js';
108
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.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.26.1/dist/modules/types/validate.js';
119
+ * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/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
@@ -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.26.1/dist/monster.js';
148
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.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.26.1/dist/modules/types/validate.js';
158
+ * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/validate.js';
159
159
  * console.log(validateString('2')) // ↦ value
160
160
  * console.log(validateString([])) // ↦ TypeError
161
161
  * </script>
@@ -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.26.1/dist/monster.js';
186
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.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.26.1/dist/modules/types/validate.js';
197
+ * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/validate.js';
198
198
  * console.log(validateObject({})) // ↦ value
199
199
  * console.log(validateObject('2')) // ↦ TypeError
200
200
  * console.log(validateObject([])) // ↦ TypeError
@@ -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.26.1/dist/monster.js';
225
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.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.26.1/dist/modules/types/validate.js';
236
+ * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/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
@@ -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.26.1/dist/monster.js';
273
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.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.26.1/dist/modules/types/validate.js';
283
+ * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/validate.js';
284
284
  * console.log(validateArray('2')) // ↦ TypeError
285
285
  * console.log(validateArray([])) // ↦ value
286
286
  * </script>
@@ -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.26.1/dist/monster.js';
310
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.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.26.1/dist/modules/types/validate.js';
320
+ * import {validateSymbol} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/validate.js';
321
321
  * console.log(validateSymbol('2')) // ↦ TypeError
322
322
  * console.log(validateSymbol()) // ↦ value
323
323
  * </script>
@@ -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.26.1/dist/monster.js';
347
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.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.26.1/dist/modules/types/validate.js';
358
+ * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/modules/types/validate.js';
359
359
  * console.log(validateFunction(()=>{})) // ↦ value
360
360
  * console.log(validateFunction('2')) // ↦ TypeError
361
361
  * console.log(validateFunction([])) // ↦ TypeError
@@ -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.26.1/dist/monster.js';
386
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/dist/monster.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.26.1/dist/modules/types/validate.js';
397
+ * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.0/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