@schukai/monster 1.28.0 → 1.29.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. package/CHANGELOG +21 -0
  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 +1 -1
  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 +1 -1
  31. package/dist/modules/dom/constants.js +1 -1
  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 +1 -1
  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 +1 -1
  78. package/dist/modules/types/nodelist.js +1 -1
  79. package/dist/modules/types/noderecursiveiterator.js +1 -1
  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 +497 -314
  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 +6 -5
  111. package/source/data/buildtree.js +2 -2
  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 +27 -27
  124. package/source/dom/customcontrol.js +1 -1
  125. package/source/dom/customelement.js +44 -18
  126. package/source/dom/events.js +66 -9
  127. package/source/dom/focusmanager.js +2 -2
  128. package/source/dom/locale.js +2 -2
  129. package/source/dom/resource/data.js +2 -2
  130. package/source/dom/resource/link/stylesheet.js +2 -2
  131. package/source/dom/resource/link.js +2 -2
  132. package/source/dom/resource/script.js +2 -2
  133. package/source/dom/resource.js +2 -2
  134. package/source/dom/resourcemanager.js +2 -2
  135. package/source/dom/template.js +5 -5
  136. package/source/dom/theme.js +3 -3
  137. package/source/dom/updater.js +45 -14
  138. package/source/dom/util.js +6 -6
  139. package/source/dom/worker/factory.js +2 -2
  140. package/source/i18n/formatter.js +4 -4
  141. package/source/i18n/locale.js +4 -4
  142. package/source/i18n/provider.js +2 -2
  143. package/source/i18n/providers/fetch.js +3 -3
  144. package/source/i18n/translations.js +4 -4
  145. package/source/logging/handler/console.js +2 -2
  146. package/source/logging/handler.js +2 -2
  147. package/source/logging/logentry.js +2 -2
  148. package/source/logging/logger.js +2 -2
  149. package/source/math/random.js +2 -2
  150. package/source/namespace.js +1 -1
  151. package/source/text/formatter.js +3 -3
  152. package/source/types/base.js +2 -2
  153. package/source/types/basewithoptions.js +32 -6
  154. package/source/types/binary.js +4 -4
  155. package/source/types/dataurl.js +4 -4
  156. package/source/types/global.js +4 -4
  157. package/source/types/id.js +2 -2
  158. package/source/types/is.js +20 -20
  159. package/source/types/mediatype.js +4 -4
  160. package/source/types/node.js +2 -2
  161. package/source/types/nodelist.js +2 -2
  162. package/source/types/noderecursiveiterator.js +4 -4
  163. package/source/types/observer.js +5 -13
  164. package/source/types/observerlist.js +2 -2
  165. package/source/types/proxyobserver.js +5 -5
  166. package/source/types/queue.js +3 -3
  167. package/source/types/randomid.js +2 -2
  168. package/source/types/regex.js +2 -2
  169. package/source/types/stack.js +2 -2
  170. package/source/types/tokenlist.js +2 -2
  171. package/source/types/typeof.js +3 -3
  172. package/source/types/uniquequeue.js +2 -2
  173. package/source/types/uuid.js +2 -2
  174. package/source/types/validate.js +20 -20
  175. package/source/types/version.js +6 -6
  176. package/source/util/clone.js +2 -2
  177. package/source/util/comparator.js +3 -3
  178. package/source/util/deadmansswitch.js +124 -0
  179. package/source/util/freeze.js +2 -2
  180. package/source/util/processing.js +3 -3
  181. package/source/util/trimspaces.js +2 -2
  182. package/test/cases/dom/customelement.js +55 -3
  183. package/test/cases/dom/events.js +66 -1
  184. package/test/cases/dom/updater.js +76 -3
  185. package/test/cases/math/random.js +3 -0
  186. package/test/cases/monster.js +1 -1
  187. package/test/cases/util/deadmansswitch.js +71 -0
  188. package/test/web/import.js +1 -0
  189. package/test/web/monster-dev.html +3 -3
  190. package/test/web/monster.html +2 -2
  191. package/test/web/test.html +4 -3
  192. package/test/web/tests.js +2 -2
@@ -14,24 +14,39 @@ import {validateObject} from "./validate.js";
14
14
  /**
15
15
  * This is the base class with options from which some monster classes are derived.
16
16
  *
17
- * You can call the method via the monster namespace `new Monster.Types.BaseWithOptions()`.
17
+ * This class is actually only used as a base class.
18
+ *
19
+ * However, you can also create an instance directly via the monster namespace `new Monster.Types.BaseWithOptions()`.
18
20
  *
19
- * ```
21
+ * ```html
20
22
  * <script type="module">
21
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
23
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
22
24
  * new Monster.Types.BaseWithOptions()
23
25
  * </script>
24
26
  * ```
25
27
  *
26
28
  * Alternatively, you can also integrate this function individually.
27
29
  *
28
- * ```
30
+ * ```html
29
31
  * <script type="module">
30
- * import {BaseWithOptions} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/basewithoptions.js';
32
+ * import {BaseWithOptions} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/basewithoptions.js';
31
33
  * new BaseWithOptions()
32
34
  * </script>
33
35
  * ```
36
+ *
37
+ * Classes that require the possibility of options can be derived directly from this class.
38
+ * Derived classes almost always override the `defaul` getter with their own values.
34
39
  *
40
+ * ```javascript
41
+ * class My extends BaseWithOptions {
42
+ * get defaults() {
43
+ * return Object.assign({}, super.defaults, {
44
+ * mykey: true
45
+ * });
46
+ * }
47
+ * }
48
+ * ```
49
+ *
35
50
  * The class was formerly called Object.
36
51
  *
37
52
  * @since 1.13.0
@@ -56,7 +71,18 @@ class BaseWithOptions extends Base {
56
71
  }
57
72
 
58
73
  /**
59
- * can be overridden by child class values
74
+ * This getter provides the options. Derived classes overwrite
75
+ * this getter with their own values. It is good karma to always include
76
+ * the values from the parent class.
77
+ *
78
+ * ```javascript
79
+ * get defaults() {
80
+ * return Object.assign({}, super.defaults, {
81
+ * mykey: true
82
+ * });
83
+ * }
84
+ *
85
+ * ```
60
86
  *
61
87
  * @return {object}
62
88
  */
@@ -13,7 +13,7 @@ import {Monster, validateString} from "./validate.js";
13
13
  *
14
14
  * ```
15
15
  * <script type="module">
16
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
16
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
17
17
  * Monster.Types.toBinary()
18
18
  * </script>
19
19
  * ```
@@ -22,7 +22,7 @@ import {Monster, validateString} from "./validate.js";
22
22
  *
23
23
  * ```
24
24
  * <script type="module">
25
- * import {toBinary} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/binary.js';
25
+ * import {toBinary} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/binary.js';
26
26
  * toBinary()
27
27
  * </script>
28
28
  * ```
@@ -54,7 +54,7 @@ function toBinary(string) {
54
54
  *
55
55
  * ```
56
56
  * <script type="module">
57
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
57
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
58
58
  * Monster.Types.fromBinary()
59
59
  * </script>
60
60
  * ```
@@ -63,7 +63,7 @@ function toBinary(string) {
63
63
  *
64
64
  * ```
65
65
  * <script type="module">
66
- * import {fromBinary} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/binary.js';
66
+ * import {fromBinary} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/binary.js';
67
67
  * fromBinary()
68
68
  * </script>
69
69
  * ```
@@ -20,7 +20,7 @@ const internal = Symbol('internal');
20
20
  *
21
21
  * ```
22
22
  * <script type="module">
23
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
23
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
24
24
  * new Monster.Types.DataUrl()
25
25
  * </script>
26
26
  * ```
@@ -29,7 +29,7 @@ const internal = Symbol('internal');
29
29
  *
30
30
  * ```
31
31
  * <script type="module">
32
- * import {DataUrl} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/dataurl.js';
32
+ * import {DataUrl} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/dataurl.js';
33
33
  * new DataUrl()
34
34
  * </script>
35
35
  * ```
@@ -98,7 +98,7 @@ class DataUrl extends Base {
98
98
  *
99
99
  * ```
100
100
  * <script type="module">
101
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
101
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
102
102
  * console.log(Monster.Types.parseDataURL())
103
103
  * </script>
104
104
  * ```
@@ -107,7 +107,7 @@ class DataUrl extends Base {
107
107
  *
108
108
  * ```
109
109
  * <script type="module">
110
- * import {parseDataURL} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/dataurl.js';
110
+ * import {parseDataURL} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/dataurl.js';
111
111
  * console.log(parseDataURL())
112
112
  * </script>
113
113
  * ```
@@ -78,7 +78,7 @@ function getGlobal() {
78
78
  *
79
79
  * ```
80
80
  * <script type="module">
81
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
81
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
82
82
  * Monster.Types.getGlobalObject('document')
83
83
  * // ↦ { }
84
84
  * </script>
@@ -88,7 +88,7 @@ function getGlobal() {
88
88
  *
89
89
  * ```
90
90
  * <script type="module">
91
- * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/global.js';
91
+ * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/global.js';
92
92
  * getGlobalObject('document')
93
93
  * // ↦ { }
94
94
  * </script>
@@ -117,7 +117,7 @@ function getGlobalObject(name) {
117
117
  *
118
118
  * ```
119
119
  * <script type="module">
120
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
120
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
121
121
  * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { }
122
122
  * </script>
123
123
  * ```
@@ -126,7 +126,7 @@ function getGlobalObject(name) {
126
126
  *
127
127
  * ```
128
128
  * <script type="module">
129
- * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/global.js';
129
+ * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/global.js';
130
130
  * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }
131
131
  * </script>
132
132
  * ```
@@ -24,7 +24,7 @@ let internalCounter = new Map;
24
24
  *
25
25
  * ```
26
26
  * <script type="module">
27
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
27
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
28
28
  * console.log(new Monster.Types.ID())
29
29
  * </script>
30
30
  * ```
@@ -33,7 +33,7 @@ let internalCounter = new Map;
33
33
  *
34
34
  * ```
35
35
  * <script type="module">
36
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/id.js';
36
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/id.js';
37
37
  * console.log(new ID())
38
38
  * </script>
39
39
  * ```
@@ -15,7 +15,7 @@ import {assignToNamespace, Monster} from '../namespace.js';
15
15
  *
16
16
  * ```
17
17
  * <script type="module">
18
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
18
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
19
19
  * Monster.Types.isIterable(null) // ↦ false
20
20
  * Monster.Types.isIterable('hello') // ↦ true
21
21
  * Monster.Types.isIterable([]) // ↦ true
@@ -26,7 +26,7 @@ import {assignToNamespace, Monster} from '../namespace.js';
26
26
  *
27
27
  * ```
28
28
  * <script type="module">
29
- * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/is.js';
29
+ * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/is.js';
30
30
  * isIterable(null) // ↦ false
31
31
  * isIterable('hello') // ↦ true
32
32
  * isIterable([]) // ↦ true
@@ -55,7 +55,7 @@ function isIterable(value) {
55
55
  *
56
56
  * ```
57
57
  * <script type="module">
58
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
58
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
59
59
  * Monster.Types.isPrimitive('2') // ↦ false
60
60
  * Monster.Types.isPrimitive([]) // ↦ true
61
61
  * </script>
@@ -65,7 +65,7 @@ function isIterable(value) {
65
65
  *
66
66
  * ```
67
67
  * <script type="module">
68
- * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/is.js';
68
+ * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/is.js';
69
69
  * isPrimitive('2')) // ↦ true
70
70
  * isPrimitive([])) // ↦ false
71
71
  * </script>
@@ -102,7 +102,7 @@ function isPrimitive(value) {
102
102
  *
103
103
  * ```
104
104
  * <script type="module">
105
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
105
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
106
106
  * Monster.Types.isSymbol('2') // ↦ false
107
107
  * Monster.Types.isSymbol(Symbol('test') // ↦ true
108
108
  * </script>
@@ -112,7 +112,7 @@ function isPrimitive(value) {
112
112
  *
113
113
  * ```
114
114
  * <script type="module">
115
- * import {isSymbol} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/is.js';
115
+ * import {isSymbol} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/is.js';
116
116
  * isSymbol(Symbol('a'))) // ↦ true
117
117
  * isSymbol([]) // ↦ false
118
118
  * </script>
@@ -137,7 +137,7 @@ function isSymbol(value) {
137
137
  *
138
138
  * ```
139
139
  * <script type="module">
140
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
140
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
141
141
  * Monster.Types.isBoolean('2') // ↦ false
142
142
  * Monster.Types.isBoolean([]) // ↦ false
143
143
  * Monster.Types.isBoolean(true) // ↦ true
@@ -148,7 +148,7 @@ function isSymbol(value) {
148
148
  *
149
149
  * ```
150
150
  * <script type="module">
151
- * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/is.js';
151
+ * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/is.js';
152
152
  * isBoolean('2')) // ↦ false
153
153
  * isBoolean([])) // ↦ false
154
154
  * isBoolean(2>4)) // ↦ true
@@ -179,7 +179,7 @@ function isBoolean(value) {
179
179
  *
180
180
  * ```
181
181
  * <script type="module">
182
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
182
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
183
183
  * Monster.Types.isString('2') // ↦ true
184
184
  * Monster.Types.isString([]) // ↦ false
185
185
  * </script>
@@ -189,7 +189,7 @@ function isBoolean(value) {
189
189
  *
190
190
  * ```
191
191
  * <script type="module">
192
- * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/is.js';
192
+ * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/is.js';
193
193
  * isString('2')) // ↦ true
194
194
  * isString([])) // ↦ false
195
195
  * </script>
@@ -217,7 +217,7 @@ function isString(value) {
217
217
  *
218
218
  * ```
219
219
  * <script type="module">
220
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
220
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
221
221
  * Monster.Types.isObject('2') // ↦ false
222
222
  * Monster.Types.isObject([]) // ↦ false
223
223
  * Monster.Types.isObject({}) // ↦ true
@@ -228,7 +228,7 @@ function isString(value) {
228
228
  *
229
229
  * ```
230
230
  * <script type="module">
231
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/is.js';
231
+ * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/is.js';
232
232
  * isObject('2')) // ↦ false
233
233
  * isObject([])) // ↦ false
234
234
  * </script>
@@ -261,7 +261,7 @@ function isObject(value) {
261
261
  *
262
262
  * ```
263
263
  * <script type="module">
264
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
264
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
265
265
  * Monster.Types.isInstance('2') // ↦ false
266
266
  * Monster.Types.isInstance([]) // ↦ false
267
267
  * Monster.Types.isInstance({}) // ↦ true
@@ -272,7 +272,7 @@ function isObject(value) {
272
272
  *
273
273
  * ```
274
274
  * <script type="module">
275
- * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/is.js';
275
+ * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/is.js';
276
276
  * isInstance('2')) // ↦ false
277
277
  * isInstance([])) // ↦ false
278
278
  * </script>
@@ -303,7 +303,7 @@ function isInstance(value, instance) {
303
303
  *
304
304
  * ```
305
305
  * <script type="module">
306
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
306
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
307
307
  * Monster.Types.isArray('2') // ↦ false
308
308
  * Monster.Types.isArray([]) // ↦ true
309
309
  * </script>
@@ -313,7 +313,7 @@ function isInstance(value, instance) {
313
313
  *
314
314
  * ```
315
315
  * <script type="module">
316
- * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/is.js';
316
+ * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/is.js';
317
317
  * isArray('2')) // ↦ false
318
318
  * isArray([])) // ↦ true
319
319
  * </script>
@@ -339,7 +339,7 @@ function isArray(value) {
339
339
  *
340
340
  * ```
341
341
  * <script type="module">
342
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
342
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
343
343
  * Monster.Types.isFunction(()=>{}) // ↦ true
344
344
  * Monster.Types.isFunction('2') // ↦ false
345
345
  * Monster.Types.isFunction([]) // ↦ false
@@ -350,7 +350,7 @@ function isArray(value) {
350
350
  *
351
351
  * ```
352
352
  * <script type="module">
353
- * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/is.js';
353
+ * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/is.js';
354
354
  * isFunction(()=>{}) // ↦ true
355
355
  * isFunction('2')) // ↦ false
356
356
  * isFunction([])) // ↦ false
@@ -384,7 +384,7 @@ function isFunction(value) {
384
384
  *
385
385
  * ```
386
386
  * <script type="module">
387
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
387
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
388
388
  * Monster.Types.isInteger(()=>{}) // ↦ true
389
389
  * Monster.Types.isInteger('2') // ↦ false
390
390
  * Monster.Types.isInteger(2) // ↦ true
@@ -395,7 +395,7 @@ function isFunction(value) {
395
395
  *
396
396
  * ```
397
397
  * <script type="module">
398
- * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/is.js';
398
+ * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/is.js';
399
399
  * isInteger(()=>{}) // ↦ true
400
400
  * isInteger('2')) // ↦ false
401
401
  * isInteger(2)) // ↦ true
@@ -28,7 +28,7 @@ const internal = Symbol('internal');
28
28
  *
29
29
  * ```
30
30
  * <script type="module">
31
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
31
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
32
32
  * console.log(new Monster.Types.MediaType())
33
33
  * </script>
34
34
  * ```
@@ -37,7 +37,7 @@ const internal = Symbol('internal');
37
37
  *
38
38
  * ```
39
39
  * <script type="module">
40
- * import {MediaType} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/mediatype.js';
40
+ * import {MediaType} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/mediatype.js';
41
41
  * console.log(new MediaType())
42
42
  * </script>
43
43
  * ```
@@ -137,7 +137,7 @@ class MediaType extends Base {
137
137
  *
138
138
  * ```
139
139
  * <script type="module">
140
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
140
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
141
141
  * console.log(Monster.Types.parseMediaType())
142
142
  * </script>
143
143
  * ```
@@ -146,7 +146,7 @@ class MediaType extends Base {
146
146
  *
147
147
  * ```
148
148
  * <script type="module">
149
- * import {parseMediaType} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/dataurl.js';
149
+ * import {parseMediaType} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/dataurl.js';
150
150
  * console.log(parseMediaType())
151
151
  * </script>
152
152
  * ```
@@ -29,7 +29,7 @@ const treeStructureSymbol = Symbol('treeStructure');
29
29
  *
30
30
  * ```
31
31
  * <script type="module">
32
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
32
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
33
33
  * new Monster.Types.Node()
34
34
  * </script>
35
35
  * ```
@@ -38,7 +38,7 @@ const treeStructureSymbol = Symbol('treeStructure');
38
38
  *
39
39
  * ```
40
40
  * <script type="module">
41
- * import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/node.js';
41
+ * import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/node.js';
42
42
  * new Node()
43
43
  * </script>
44
44
  * ```
@@ -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.28.0/dist/monster.js';
16
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/modules/types/nodelist.js';
25
+ * import {NodeList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/nodelist.js';
26
26
  * new NodeList()
27
27
  * </script>
28
28
  * ```
@@ -25,7 +25,7 @@ const isNodeListSymbol = Symbol('isNodeList');
25
25
  *
26
26
  * ```
27
27
  * <script type="module">
28
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/monster.js';
28
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/monster.js';
29
29
  * new Monster.Types.NodeRecursiveIterator()
30
30
  * </script>
31
31
  * ```
@@ -34,14 +34,14 @@ const isNodeListSymbol = Symbol('isNodeList');
34
34
  *
35
35
  * ```
36
36
  * <script type="module">
37
- * import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/noderecursiveiterator.js';
37
+ * import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/noderecursiveiterator.js';
38
38
  * new NodeRecursiveIterator()
39
39
  * </script>
40
40
  * ```
41
41
  *
42
42
  * @example
43
- * import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/node.js';
44
- * import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/noderecursiveiterator.js';
43
+ * import {Node} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/node.js';
44
+ * import {NodeRecursiveIterator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/noderecursiveiterator.js';
45
45
  *
46
46
  * const node =new Node('1')
47
47
  *
@@ -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.28.0/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.2/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.28.0/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.2/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.28.0/dist/modules/types/observer.js';
55
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/monster.js';
19
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/modules/types/observerlist.js';
29
+ * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/monster.js';
21
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/modules/types/proxyobserver.js';
30
+ * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/modules/types/proxyobserver.js';
42
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/observer.js';
43
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.28.0/dist/modules/types/is.js';
41
+ * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/proxyobserver.js';
42
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/observer.js';
43
+ * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/monster.js';
14
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/modules/types/queue.js';
23
+ * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/modules/types/queue.js';
30
+ * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/monster.js';
22
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/modules/types/randomid.js';
31
+ * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/monster.js';
18
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/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.28.0/dist/modules/types/validate.js';
27
+ * import {escapeString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.29.2/dist/modules/types/validate.js';
28
28
  * escapeString()
29
29
  * </script>
30
30
  * ```